Function at 0x59048600
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x59146caf
push eax
mov eax, dword [esp + 0x20]
mov dword fs:[0], esp
sub esp, 0xc4
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
je 0x5904862b
mov dword [eax], ebx
mov esi, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe8]
cmp esi, ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebp
je 0x59049cdd
cmp ebp, ebx
je 0x59049cdd
push 0x5917ae30
push ebp
push esi
call fcn.5900f390
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x59049cdd
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x9c], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0xa0]
add edx, ecx
mov ecx, 6
sub ebp, edx
add esi, edx
rep stosd dword es:[edi], eax
push ebp
push esi
lea ecx, [esp + 0x48]
mov dword [esp + 0xc0], str._subject_:
mov dword [esp + 0xc4], str._from_:
mov dword [esp + 0xc8], str._to_:
mov dword [esp + 0xcc], str._cc_:
mov dword [esp + 0xd0], str._bcc_:
mov dword [esp + 0xd4], str._body_:
mov dword [esp + 0xd8], str._method_:
call fcn.590998b0
mov eax, dword [esp + 0x40]
mov dword [esp + 0xdc], ebx
cmp dword [eax - 8], ebx
je 0x59049cc9
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.590993d0
lea eax, [esp + 0x4c]
mov byte [esp + 0xe0], 0
push eax
call fcn.5900abf0
add esp, 8
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 2
push ecx
lea ecx, [esp + 0x1c]
call fcn.590993d0
mov edx, dword [esp + 0x18]
mov byte [esp + 0xdc], 4
cmp dword [edx - 8], ebx
jne 0x59048753
jmp 0x59049ca7
xor esi, esi
mov eax, dword [esp + esi + 0xb8]
lea ecx, [esp + 0x18]
push eax
call fcn.5909e640
mov dword [esp + esi + 0x9c], eax
add esi, 4
cmp esi, 0x1c
jb 0x59048755
mov eax, dword [0x59155850]
mov dword [esp + 0x30], eax
mov byte [esp + 0xdc], 6
mov dword [esp + 0x24], eax
mov byte [esp + 0xdc], 7
mov dword [esp + 0x44], eax
mov byte [esp + 0xdc], 8
mov dword [esp + 0x3c], eax
mov byte [esp + 0xdc], 9
mov dword [esp + 0x38], eax
mov byte [esp + 0xdc], 0xa
mov dword [esp + 0x34], eax
mov byte [esp + 0xdc], 0xb
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0xb4]
mov byte [esp + 0xdc], 0xc
cmp esi, 0xffffffff
je 0x5904892c
mov ecx, dword [0x5915584c]
mov dword [esp + 0x10], ecx
mov bl, 0xd
push esi
push 0x5917a478
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x5904887b
mov edi, str._method_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, str._method_:
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x18]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0xe
call fcn.59099f80
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.59099e00
mov ecx, dword [esp + 0x10]
push str.SaveMessage
push ecx
call fcn.59081676
add esp, 8
mov byte [esp + 0xdc], 0xc
test eax, eax
lea ecx, [esp + 0x10]
jne 0x59048922
call fcn.59099e00
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.5909f180
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.5909f180
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.5909f180
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.5909f180
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.5909f180
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.5909f180
jmp 0x59049ca7
call fcn.59099e00
mov eax, dword [0x59155850]
mov esi, dword [esp + 0x9c]
cmp esi, 0xffffffff
je 0x59048ad6
mov edx, dword [0x5915584c]
mov dword [esp + 0x10], edx
mov bl, 0x10
push esi
push 0x5917a478
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x590489d9
mov edi, str._subject_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, str._subject_:
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x18]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x11
call fcn.59099f80
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.59099e00
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x59048ac0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.590993d0
lea eax, [esp + 0x18]
mov byte [esp + 0xe0], bl
push eax
call fcn.5900abf0
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x13
call fcn.59099f80
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.59099e00
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900a700
add esp, 8
test eax, eax
je 0x59048aad
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x59048ac0
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 0x59048ac0
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 + 0x18]
push eax
call fcn.5900a810
add esp, 0xc
lea ecx, [esp + 0x2c]
mov word [esi + ebp*2], 0
push esi
call fcn.5909f400
push esi
call fcn.591315d9
add esp, 4
jmp 0x59048ac0
mov ecx, dword [esp + 0x10]
push 0xfde9
push ecx
lea ecx, [esp + 0x34]
call fcn.590a35e0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
mov eax, dword [0x59155850]
mov esi, dword [esp + 0xa0]
cmp esi, 0xffffffff
je 0x59048cac
mov eax, dword [0x5915584c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x15
mov dword [esp + 0x20], eax
push esi
push 0x5917eb80
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x16
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x59048bb9
mov edi, str._from_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, str._from_:
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x2c]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
mov bl, 0x17
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590993d0
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x19
push ecx
lea ecx, [esp + 0x14]
call fcn.59099f80
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.59099e00
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x16
call fcn.59099e00
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
je 0x59048c85
push str._email_:
lea ecx, [esp + 0x14]
call fcn.5907af70
mov esi, eax
cmp esi, 0xffffffff
je 0x59048c85
push esi
push 0x5917a478
lea ecx, [esp + 0x18]
call fcn.5907af80
mov edx, eax
sub edx, esi
test edx, edx
jle 0x59048c6b
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._email_:
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, 0x5917a488
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x2c]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.5909c020
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x1b
call fcn.59099f80
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x16
call fcn.59099e00
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59048c85
push 0xfde9
push eax
lea ecx, [esp + 0x38]
call fcn.590a35e0
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x15
call fcn.59099e00
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
mov eax, dword [0x59155850]
mov esi, dword [esp + 0xa4]
cmp esi, 0xffffffff
je 0x59048f1f
mov eax, dword [0x5915584c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x1e
mov dword [esp + 0x14], eax
push esi
push 0x5917be74
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x1f
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x59048d8f
mov edi, str._to_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, str._to_:
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x2c]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
mov bl, 0x20
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], bl
call fcn.590993d0
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x22
push ecx
lea ecx, [esp + 0x14]
call fcn.59099f80
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], bl
call fcn.59099e00
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x1f
call fcn.59099e00
xor ebp, ebp
mov bl, 0x25
test ebp, ebp
je 0x59048da8
mov edi, 0x5917eb70
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebp, ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
je 0x59048ede
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.5907af80
mov esi, eax
cmp esi, 0xffffffff
je 0x59048ede
mov edi, str._email_:_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
push 0x5917a488
lea ecx, [esp + 0x18]
call fcn.5907af80
mov edx, eax
sub edx, esi
test edx, edx
jle 0x59048e6c
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._email_:
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, 0x5917a488
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x2c]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.5909c020
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], 0x24
call fcn.59099f80
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x1f
call fcn.59099e00
mov ecx, dword [0x59155850]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x14]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x59048e97
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590a35e0
lea edx, [esp + 0x20]
push 0x59179460
lea eax, [esp + 0x20]
push edx
push eax
call fcn.5909f8f0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xe0], 0x26
call fcn.5909fe30
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.5909f180
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x1f
call fcn.5909f180
push ebp
push 0x5917eb70
lea ecx, [esp + 0x18]
call fcn.5907af80
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x59048d93
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x1e
call fcn.59099e00
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
mov eax, dword [0x59155850]
mov esi, dword [esp + 0xa8]
cmp esi, 0xffffffff
je 0x59049192
mov eax, dword [0x5915584c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x29
mov dword [esp + 0x20], eax
push esi
push 0x5917be74
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x2a
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x59049002
mov edi, str._cc_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, str._cc_:
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x20]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
mov bl, 0x2b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590993d0
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x2d
push ecx
lea ecx, [esp + 0x14]
call fcn.59099f80
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.59099e00
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x2a
call fcn.59099e00
xor ebp, ebp
mov bl, 0x30
test ebp, ebp
je 0x5904901b
mov edi, 0x5917eb70
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebp, ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
je 0x59049151
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.5907af80
mov esi, eax
cmp esi, 0xffffffff
je 0x59049151
mov edi, str._email_:_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
push 0x5917a488
lea ecx, [esp + 0x18]
call fcn.5907af80
mov edx, eax
sub edx, esi
test edx, edx
jle 0x590490df
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._email_:
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, 0x5917a488
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x20]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.5909c020
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x2f
call fcn.59099f80
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x2a
call fcn.59099e00
mov ecx, dword [0x59155850]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904910a
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590a35e0
lea edx, [esp + 0x14]
push 0x59179460
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.5909f8f0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe0], 0x31
call fcn.5909fe30
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], bl
call fcn.5909f180
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x2a
call fcn.5909f180
push ebp
push 0x5917eb70
lea ecx, [esp + 0x18]
call fcn.5907af80
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x59049006
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x29
call fcn.59099e00
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
mov eax, dword [0x59155850]
mov esi, dword [esp + 0xac]
cmp esi, 0xffffffff
je 0x59049405
mov eax, dword [0x5915584c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x34
mov dword [esp + 0x20], eax
push esi
push 0x5917be74
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x35
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x59049275
mov edi, str._bcc_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, str._bcc_:
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x20]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
mov bl, 0x36
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590993d0
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x38
push ecx
lea ecx, [esp + 0x14]
call fcn.59099f80
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.59099e00
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x35
call fcn.59099e00
xor ebp, ebp
mov bl, 0x3b
test ebp, ebp
je 0x5904928e
mov edi, 0x5917eb70
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebp, ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
je 0x590493c4
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.5907af80
mov esi, eax
cmp esi, 0xffffffff
je 0x590493c4
mov edi, str._email_:_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
push 0x5917a488
lea ecx, [esp + 0x18]
call fcn.5907af80
mov edx, eax
sub edx, esi
test edx, edx
jle 0x59049352
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x5917a488
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._email_:
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
mov edx, ecx
mov edi, 0x5917a488
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x20]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.5909c020
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x3a
call fcn.59099f80
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x35
call fcn.59099e00
mov ecx, dword [0x59155850]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904937d
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590a35e0
lea edx, [esp + 0x14]
push 0x59179460
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.5909f8f0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xe0], 0x3c
call fcn.5909fe30
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], bl
call fcn.5909f180
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x35
call fcn.5909f180
push ebp
push 0x5917eb70
lea ecx, [esp + 0x18]
call fcn.5907af80
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x59049279
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x34
call fcn.59099e00
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
mov eax, dword [0x59155850]
mov esi, dword [esp + 0xb0]
cmp esi, 0xffffffff
je 0x590495a9
mov ecx, dword [0x5915584c]
mov dword [esp + 0x10], ecx
mov bl, 0x3e
push esi
push 0x5917a478
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
jne 0x59049454
push esi
push 0x5917ca40
lea ecx, [esp + 0x20]
call fcn.5907af80
mov edx, eax
cmp edx, 0xffffffff
je 0x590494a6
mov edi, str._body_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._body_:
sub edx, ecx
or ecx, 0xffffffff
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
add ecx, esi
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.5909c020
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x3f
call fcn.59099f80
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x1c]
jmp 0x59049508
push 0x22
lea ecx, [esp + 0x1c]
call fcn.5907af40
mov edx, eax
cmp edx, 0xffffffff
je 0x5904950d
mov edi, str._body_:
or ecx, 0xffffffff
xor eax, eax
sub edx, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._body_:
sub edx, ecx
or ecx, 0xffffffff
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
add ecx, esi
lea eax, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.5909c020
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x40
call fcn.59099f80
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x1c]
call fcn.59099e00
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x59049593
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.590993d0
lea eax, [esp + 0x20]
mov byte [esp + 0xe0], bl
push eax
call fcn.5902bc20
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xe0], 0x42
call fcn.5909f310
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.5909f180
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.5900b5b0
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xe0], 0x43
call fcn.5909f310
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.5909f180
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
mov eax, dword [0x59155850]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904968a
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904968a
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904968a
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904968a
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904968a
mov edx, dword [esp + 0x34]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904968a
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904968a
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.5909f180
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.5909f180
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.5909f180
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.5909f180
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.5909f180
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.5909f180
jmp 0x59049ca7
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x5904971b
mov dword [ecx], 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.5909f180
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.5909f180
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.5909f180
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.5909f180
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.5909f180
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.5909f180
jmp 0x59049ca7
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xf0]
mov byte [esp + 0xdc], 0x46
test esi, esi
je 0x59049b65
mov dword [esp + 0x74], eax
mov byte [esp + 0xdc], 0x47
mov dword [esp + 0x78], eax
mov byte [esp + 0xdc], 0x48
mov dword [esp + 0x7c], eax
mov byte [esp + 0xdc], 0x49
mov dword [esp + 0x80], eax
mov byte [esp + 0xdc], 0x4a
mov dword [esp + 0x84], eax
mov byte [esp + 0xdc], 0x4b
mov dword [esp + 0x88], eax
mov byte [esp + 0xdc], 0x4c
mov dword [esp + 0x8c], eax
mov byte [esp + 0xdc], 0x4d
mov dword [esp + 0x90], eax
mov edx, dword [0x5915584c]
mov byte [esp + 0xdc], 0x4e
mov dword [esp + 0x94], edx
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esi + 8]
mov bl, 0x50
mov byte [esp + 0xdc], bl
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x64], edx
push ecx
mov dword [esp + 0x6c], eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esp + 0xec]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x5c], edx
call fcn.5909f310
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x84]
call fcn.5909f310
lea edx, [esp + 0x38]
lea ecx, [esp + 0x84]
push edx
call fcn.5909f310
lea eax, [esp + 0x34]
lea ecx, [esp + 0x88]
push eax
call fcn.5909f310
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x80]
call fcn.5909f310
lea edx, [esp + 0x24]
lea ecx, [esp + 0x8c]
push edx
call fcn.5909f310
lea eax, [esp + 0x44]
lea ecx, [esp + 0x90]
push eax
call fcn.5909f310
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x78]
call fcn.5909f310
lea edx, [esp + 0x1c]
push 0x5917aff8
push edx
call fcn.59054500
add esp, 8
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xe0], 0x51
call fcn.59099f80
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.59099e00
mov eax, dword [esp + 0x94]
push 0x180
push 0x8101
push eax
call fcn.590821dd
mov ecx, dword [0x5915584c]
add esp, 0xc
mov edi, eax
mov dword [esp + 0x10], ecx
cmp edi, 0xffffffff
mov byte [esp + 0xdc], 0x52
je 0x59049939
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
push edx
push eax
push edi
call fcn.59081fed
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [esi + 0xc]
add esp, 0xc
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push ecx
call fcn.5909cc60
mov edx, dword [esp + 0x30]
add esp, 0x20
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
push eax
push 0
call fcn.5909aa90
push eax
push edi
call fcn.59081fed
push edi
call fcn.59081f0d
add esp, 0x10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov esi, dword [0x5919db0c]
mov eax, dword [eax - 8]
add eax, ecx
cmp esi, esi
mov dword [esp + 0x98], eax
jl 0x59049967
lea edx, [esi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x5919db08
call fcn.5905af50
mov ecx, dword [0x5919db08]
mov eax, esi
mov edx, dword [esp + 0x58]
shl eax, 4
add eax, esi
lea esi, [esp + 0x5c]
lea ebp, [ecx + eax*4]
mov ecx, 6
lea eax, [esp + 0x74]
lea edi, [ebp + 4]
mov dword [ebp], edx
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp + 0x1c]
call fcn.5909f310
lea ecx, [esp + 0x78]
push ecx
lea ecx, [ebp + 0x20]
call fcn.5909f310
lea edx, [esp + 0x7c]
lea ecx, [ebp + 0x24]
push edx
call fcn.5909f310
lea eax, [esp + 0x80]
lea ecx, [ebp + 0x28]
push eax
call fcn.5909f310
lea ecx, [esp + 0x84]
push ecx
lea ecx, [ebp + 0x2c]
call fcn.5909f310
lea edx, [esp + 0x88]
lea ecx, [ebp + 0x30]
push edx
call fcn.5909f310
lea eax, [esp + 0x8c]
lea ecx, [ebp + 0x34]
push eax
call fcn.5909f310
lea ecx, [esp + 0x90]
push ecx
lea ecx, [ebp + 0x38]
call fcn.5909f310
lea edx, [esp + 0x94]
lea ecx, [ebp + 0x3c]
push edx
call fcn.59099f80
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x10]
mov dword [ebp + 0x40], eax
mov byte [esp + 0xdc], bl
call fcn.59099e00
lea ecx, [esp + 0x94]
mov byte [esp + 0xdc], 0x5a
call fcn.59099e00
lea ecx, [esp + 0x90]
mov byte [esp + 0xdc], 0x59
call fcn.5909f180
lea ecx, [esp + 0x8c]
mov byte [esp + 0xdc], 0x58
call fcn.5909f180
lea ecx, [esp + 0x88]
mov byte [esp + 0xdc], 0x57
call fcn.5909f180
lea ecx, [esp + 0x84]
mov byte [esp + 0xdc], 0x56
call fcn.5909f180
lea ecx, [esp + 0x80]
mov byte [esp + 0xdc], 0x55
call fcn.5909f180
mov byte [esp + 0xdc], 0x54
lea ecx, [esp + 0x7c]
call fcn.5909f180
lea ecx, [esp + 0x78]
mov byte [esp + 0xdc], 0x53
call fcn.5909f180
lea ecx, [esp + 0x74]
mov byte [esp + 0xdc], 0x46
call fcn.5909f180
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xc
call fcn.5909f180
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.5909f180
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.5909f180
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.5909f180
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.5909f180
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.5909f180
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.5909f180
jmp 0x59049ca7
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xc
call fcn.5909f180
lea ecx, [esp + 0x4c]
push 0
push ecx
call fcn.590543e0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
push 1
push 0
push 0
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push eax
mov byte [esp + 0x110], 0x5d
call fcn.5900c0f0
add esp, 0x34
test eax, eax
je 0x59049c1f
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
push edi
push esi
push ecx
call fcn.5900bee0
add esp, 0xc
test eax, eax
je 0x59049c1f
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push 2
push 1
push eax
push edi
push esi
call fcn.5900e1b0
add esp, 0x44
lea ecx, [esp + 0x4c]
mov byte [esp + 0xdc], 0xc
call fcn.59099e00
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.5909f180
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.5909f180
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.5909f180
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.5909f180
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.5909f180
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.5909f180
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.5909f180
lea ecx, [esp + 0x18]
mov byte [esp + 0xdc], 2
call fcn.59099e00
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 0
call fcn.59099e00
lea ecx, [esp + 0x40]
mov dword [esp + 0xdc], 0xffffffff
call fcn.59099e00
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xd0
ret