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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x591544c4
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 0x5904d77b
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 0x5904ee02
cmp ebp, ebx
je 0x5904ee02
push 0x5918a2d4
push ebp
push esi
call fcn.5900f7b0
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5904ee02
mov edi, 0x5918a2d4
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.590a1d90
mov eax, dword [esp + 0x40]
mov dword [esp + 0xdc], ebx
cmp dword [eax - 8], ebx
je 0x5904edee
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.590a18b0
lea eax, [esp + 0x4c]
mov byte [esp + 0xe0], 0
push eax
call fcn.5900b260
add esp, 8
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 2
push ecx
lea ecx, [esp + 0x1c]
call fcn.590a18b0
mov edx, dword [esp + 0x18]
mov byte [esp + 0xdc], 4
cmp dword [edx - 8], ebx
jne 0x5904d8a3
jmp 0x5904edcc
xor esi, esi
mov eax, dword [esp + esi + 0xb8]
lea ecx, [esp + 0x18]
push eax
call fcn.590a6b20
mov dword [esp + esi + 0x9c], eax
add esi, 4
cmp esi, 0x1c
jb 0x5904d8a5
mov eax, dword [0x591638c0]
mov dword [esp + 0x30], eax
mov byte [esp + 0xdc], 6
mov dword [esp + 0x28], 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 0x5904da7c
mov ecx, dword [0x591638bc]
mov dword [esp + 0x10], ecx
mov bl, 0xd
push esi
push 0x591898f0
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904d9cb
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, 0x59189900
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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.590a4500
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0xe
call fcn.590a2460
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
mov ecx, dword [esp + 0x10]
push str.SaveMessage
push ecx
call fcn.59089b37
add esp, 8
mov byte [esp + 0xdc], 0xc
test eax, eax
lea ecx, [esp + 0x10]
jne 0x5904da72
call fcn.590a22e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a7660
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a7660
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a7660
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a7660
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a7660
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 6
call fcn.590a7660
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a7660
jmp 0x5904edcc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov esi, dword [esp + 0x9c]
cmp esi, 0xffffffff
je 0x5904dc26
mov edx, dword [0x591638bc]
mov dword [esp + 0x10], edx
mov bl, 0x10
push esi
push 0x591898f0
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904db29
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, 0x59189900
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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.590a4500
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x11
call fcn.590a2460
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x5904dc10
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.590a18b0
lea eax, [esp + 0x18]
mov byte [esp + 0xe0], bl
push eax
call fcn.5900b260
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x13
call fcn.590a2460
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900ad70
add esp, 8
test eax, eax
je 0x5904dbfd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x5904dc10
push 1
push 0
push eax
call fcn.5900ae80
mov ebp, eax
lea edi, [ebp + ebp + 4]
push edi
call fcn.5913e1e0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x5904dc10
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.5900ae80
add esp, 0xc
lea ecx, [esp + 0x2c]
mov word [esi + ebp*2], 0
push esi
call fcn.590a78e0
push esi
call fcn.5913e209
add esp, 4
jmp 0x5904dc10
mov ecx, dword [esp + 0x10]
push 0xfde9
push ecx
lea ecx, [esp + 0x34]
call fcn.590abac0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov esi, dword [esp + 0xa0]
cmp esi, 0xffffffff
je 0x5904ddfc
mov eax, dword [0x591638bc]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x15
mov dword [esp + 0x20], eax
push esi
push 0x5918edfc
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x16
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904dd09
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, 0x59189900
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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 + 0x28]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.590a4500
mov bl, 0x17
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590a18b0
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x19
push ecx
lea ecx, [esp + 0x14]
call fcn.590a2460
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 0x16
call fcn.590a22e0
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
je 0x5904ddd5
push str._email_:
lea ecx, [esp + 0x14]
call fcn.590833e0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904ddd5
push esi
push 0x591898f0
lea ecx, [esp + 0x18]
call fcn.590833f0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904ddbb
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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, 0x59189900
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x28]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.590a4500
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x1b
call fcn.590a2460
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 0x16
call fcn.590a22e0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904ddd5
push 0xfde9
push eax
lea ecx, [esp + 0x38]
call fcn.590abac0
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x15
call fcn.590a22e0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov esi, dword [esp + 0xa4]
cmp esi, 0xffffffff
je 0x5904e06f
mov eax, dword [0x591638bc]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x1e
mov dword [esp + 0x14], eax
push esi
push 0x5918b3ac
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x1f
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904dedf
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, 0x59189900
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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 + 0x28]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.590a4500
mov bl, 0x20
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], bl
call fcn.590a18b0
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x22
push ecx
lea ecx, [esp + 0x14]
call fcn.590a2460
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 0x1f
call fcn.590a22e0
xor ebp, ebp
mov bl, 0x25
test ebp, ebp
je 0x5904def8
mov edi, 0x5918edec
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 0x5904e02e
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.590833f0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904e02e
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 0x59189900
lea ecx, [esp + 0x18]
call fcn.590833f0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904dfbc
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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, 0x59189900
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x28]
add ecx, esi
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.590a4500
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], 0x24
call fcn.590a2460
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 0x1f
call fcn.590a22e0
mov ecx, dword [0x591638c0]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x14]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904dfe7
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590abac0
lea edx, [esp + 0x20]
push 0x59188548
lea eax, [esp + 0x20]
push edx
push eax
call fcn.590a7dd0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xe0], 0x26
call fcn.590a8310
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a7660
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x1f
call fcn.590a7660
push ebp
push 0x5918edec
lea ecx, [esp + 0x18]
call fcn.590833f0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5904dee3
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x1e
call fcn.590a22e0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov esi, dword [esp + 0xa8]
cmp esi, 0xffffffff
je 0x5904e2e2
mov eax, dword [0x591638bc]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x29
mov dword [esp + 0x20], eax
push esi
push 0x5918b3ac
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x2a
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e152
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, 0x59189900
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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.590a4500
mov bl, 0x2b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590a18b0
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x2d
push ecx
lea ecx, [esp + 0x14]
call fcn.590a2460
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x2a
call fcn.590a22e0
xor ebp, ebp
mov bl, 0x30
test ebp, ebp
je 0x5904e16b
mov edi, 0x5918edec
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 0x5904e2a1
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.590833f0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904e2a1
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 0x59189900
lea ecx, [esp + 0x18]
call fcn.590833f0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904e22f
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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, 0x59189900
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.590a4500
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x2f
call fcn.590a2460
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x2a
call fcn.590a22e0
mov ecx, dword [0x591638c0]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904e25a
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590abac0
lea edx, [esp + 0x14]
push 0x59188548
lea eax, [esp + 0x28]
push edx
push eax
call fcn.590a7dd0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe0], 0x31
call fcn.590a8310
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], bl
call fcn.590a7660
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x2a
call fcn.590a7660
push ebp
push 0x5918edec
lea ecx, [esp + 0x18]
call fcn.590833f0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5904e156
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x29
call fcn.590a22e0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov esi, dword [esp + 0xac]
cmp esi, 0xffffffff
je 0x5904e555
mov eax, dword [0x591638bc]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x34
mov dword [esp + 0x20], eax
push esi
push 0x5918b3ac
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x35
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e3c5
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, 0x59189900
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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.590a4500
mov bl, 0x36
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590a18b0
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x38
push ecx
lea ecx, [esp + 0x14]
call fcn.590a2460
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x35
call fcn.590a22e0
xor ebp, ebp
mov bl, 0x3b
test ebp, ebp
je 0x5904e3de
mov edi, 0x5918edec
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 0x5904e514
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.590833f0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904e514
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 0x59189900
lea ecx, [esp + 0x18]
call fcn.590833f0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904e4a2
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x59189900
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, 0x59189900
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.590a4500
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x3a
call fcn.590a2460
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x35
call fcn.590a22e0
mov ecx, dword [0x591638c0]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904e4cd
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590abac0
lea edx, [esp + 0x14]
push 0x59188548
lea eax, [esp + 0x28]
push edx
push eax
call fcn.590a7dd0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xe0], 0x3c
call fcn.590a8310
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], bl
call fcn.590a7660
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x35
call fcn.590a7660
push ebp
push 0x5918edec
lea ecx, [esp + 0x18]
call fcn.590833f0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5904e3c9
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x34
call fcn.590a22e0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov esi, dword [esp + 0xb0]
cmp esi, 0xffffffff
je 0x5904e6d2
mov ecx, dword [0x591638bc]
mov dword [esp + 0x10], ecx
mov bl, 0x3e
push esi
push 0x591898f0
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
jne 0x5904e5a4
push esi
push 0x5918b780
lea ecx, [esp + 0x20]
call fcn.590833f0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e5f6
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.590a4500
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x3f
call fcn.590a2460
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x1c]
jmp 0x5904e658
push 0x22
lea ecx, [esp + 0x1c]
call fcn.590833b0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e65d
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.590a4500
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x40
call fcn.590a2460
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x1c]
call fcn.590a22e0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x5904e6bc
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.590a18b0
lea eax, [esp + 0x20]
mov byte [esp + 0xe0], bl
push eax
call fcn.590301a0
add esp, 8
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe0], 0x42
call fcn.590a77f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a7660
lea ecx, [esp + 0x28]
push ecx
call fcn.5900bc70
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
mov eax, dword [0x591638c0]
mov edx, dword [esp + 0x30]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904e7b3
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904e7b3
mov edx, dword [esp + 0x38]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904e7b3
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904e7b3
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904e7b3
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904e7b3
mov edx, dword [esp + 0x44]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904e7b3
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a7660
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a7660
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a7660
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a7660
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a7660
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 6
call fcn.590a7660
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a7660
jmp 0x5904edcc
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x5904e844
mov dword [ecx], 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a7660
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a7660
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a7660
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a7660
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a7660
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 6
call fcn.590a7660
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a7660
jmp 0x5904edcc
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xf0]
mov byte [esp + 0xdc], 0x45
test esi, esi
je 0x5904ec8a
mov dword [esp + 0x74], eax
mov byte [esp + 0xdc], 0x46
mov dword [esp + 0x78], eax
mov byte [esp + 0xdc], 0x47
mov dword [esp + 0x7c], eax
mov byte [esp + 0xdc], 0x48
mov dword [esp + 0x80], eax
mov byte [esp + 0xdc], 0x49
mov dword [esp + 0x84], eax
mov byte [esp + 0xdc], 0x4a
mov dword [esp + 0x88], eax
mov byte [esp + 0xdc], 0x4b
mov dword [esp + 0x8c], eax
mov byte [esp + 0xdc], 0x4c
mov dword [esp + 0x90], eax
mov eax, dword [0x591638bc]
mov byte [esp + 0xdc], 0x4d
mov dword [esp + 0x94], eax
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov bl, 0x4f
mov byte [esp + 0xdc], bl
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x6c]
mov dword [esp + 0x64], eax
push edx
mov dword [esp + 0x6c], ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x5c], eax
call fcn.590a77f0
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x80]
push edx
call fcn.590a77f0
lea eax, [esp + 0x38]
lea ecx, [esp + 0x84]
push eax
call fcn.590a77f0
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x8c]
call fcn.590a77f0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x7c]
push edx
call fcn.590a77f0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x8c]
push eax
call fcn.590a77f0
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x94]
call fcn.590a77f0
lea edx, [esp + 0x14]
lea ecx, [esp + 0x74]
push edx
call fcn.590a77f0
lea eax, [esp + 0x1c]
push 0x5918a49c
push eax
call fcn.59059510
add esp, 8
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xe0], 0x50
call fcn.590a2460
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
mov ecx, dword [esp + 0x94]
push 0x180
push 0x8101
push ecx
call fcn.5908a6ad
mov edx, dword [0x591638bc]
add esp, 0xc
mov edi, eax
mov dword [esp + 0x10], edx
cmp edi, 0xffffffff
mov byte [esp + 0xdc], 0x51
je 0x5904ea5e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
push eax
push ecx
push edi
call fcn.5908a4bd
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esi + 0xc]
add esp, 0xc
push edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [esi]
push edx
push eax
push ecx
lea edx, [esp + 0x28]
push str._r_n_r_nliTickBegin:_I64u__liTickEnd:_I64u__liTickRecord:_I64u
push edx
call fcn.590a5140
mov eax, dword [esp + 0x30]
add esp, 0x20
lea ecx, [esp + 0x10]
mov eax, dword [eax - 8]
push eax
push 0
call fcn.590a2f70
push eax
push edi
call fcn.5908a4bd
push edi
call fcn.5908a3dd
add esp, 0x10
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov esi, dword [0x591af034]
mov eax, dword [ecx - 8]
add eax, edx
cmp esi, esi
mov dword [esp + 0x98], eax
jl 0x5904ea8c
lea eax, [esi + 1]
push 0xffffffffffffffff
push eax
mov ecx, 0x591af030
call fcn.59060250
mov edx, dword [0x591af030]
mov ecx, esi
mov eax, dword [esp + 0x58]
shl ecx, 4
add ecx, esi
lea esi, [esp + 0x5c]
lea ebp, [edx + ecx*4]
mov ecx, 6
lea edi, [ebp + 4]
mov dword [ebp], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x74]
push ecx
lea ecx, [ebp + 0x1c]
call fcn.590a77f0
lea edx, [esp + 0x78]
lea ecx, [ebp + 0x20]
push edx
call fcn.590a77f0
lea eax, [esp + 0x7c]
lea ecx, [ebp + 0x24]
push eax
call fcn.590a77f0
lea ecx, [esp + 0x80]
push ecx
lea ecx, [ebp + 0x28]
call fcn.590a77f0
lea edx, [esp + 0x84]
lea ecx, [ebp + 0x2c]
push edx
call fcn.590a77f0
lea eax, [esp + 0x88]
lea ecx, [ebp + 0x30]
push eax
call fcn.590a77f0
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [ebp + 0x34]
call fcn.590a77f0
lea edx, [esp + 0x90]
lea ecx, [ebp + 0x38]
push edx
call fcn.590a77f0
lea eax, [esp + 0x94]
lea ecx, [ebp + 0x3c]
push eax
call fcn.590a2460
mov ecx, dword [esp + 0x98]
mov dword [ebp + 0x40], ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], bl
call fcn.590a22e0
lea ecx, [esp + 0x94]
mov byte [esp + 0xdc], 0x59
call fcn.590a22e0
lea ecx, [esp + 0x90]
mov byte [esp + 0xdc], 0x58
call fcn.590a7660
lea ecx, [esp + 0x8c]
mov byte [esp + 0xdc], 0x57
call fcn.590a7660
lea ecx, [esp + 0x88]
mov byte [esp + 0xdc], 0x56
call fcn.590a7660
lea ecx, [esp + 0x84]
mov byte [esp + 0xdc], 0x55
call fcn.590a7660
lea ecx, [esp + 0x80]
mov byte [esp + 0xdc], 0x54
call fcn.590a7660
mov byte [esp + 0xdc], 0x53
lea ecx, [esp + 0x7c]
call fcn.590a7660
lea ecx, [esp + 0x78]
mov byte [esp + 0xdc], 0x52
call fcn.590a7660
lea ecx, [esp + 0x74]
mov byte [esp + 0xdc], 0x45
call fcn.590a7660
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xc
call fcn.590a7660
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a7660
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a7660
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a7660
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a7660
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a7660
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 6
call fcn.590a7660
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a7660
jmp 0x5904edcc
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xc
call fcn.590a7660
lea edx, [esp + 0x4c]
push 0
push edx
call fcn.590593f0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
push 1
push 0
push 0
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x74]
push edx
push eax
push ecx
mov byte [esp + 0x110], 0x5c
call fcn.5900c510
add esp, 0x34
test eax, eax
je 0x5904ed44
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
push edi
push esi
push edx
call fcn.5900c300
add esp, 0xc
test eax, eax
je 0x5904ed44
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x74]
push edx
push eax
push 2
push 1
push ecx
push edi
push esi
call fcn.5900e5d0
add esp, 0x44
lea ecx, [esp + 0x4c]
mov byte [esp + 0xdc], 0xc
call fcn.590a22e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a7660
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a7660
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a7660
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a7660
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a7660
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 6
call fcn.590a7660
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a7660
lea ecx, [esp + 0x18]
mov byte [esp + 0xdc], 2
call fcn.590a22e0
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 0
call fcn.590a22e0
lea ecx, [esp + 0x40]
mov dword [esp + 0xdc], 0xffffffff
call fcn.590a22e0
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xd0
ret