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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x591536df
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 0x5904deab
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 0x5904f55d
cmp ebp, ebx
je 0x5904f55d
push 0x591892bc
push ebp
push esi
call fcn.5900f930
mov edx, eax
add esp, 0xc
cmp edx, 0xffffffff
je 0x5904f55d
mov edi, 0x591892bc
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.590a0970
mov eax, dword [esp + 0x40]
mov dword [esp + 0xdc], ebx
cmp dword [eax - 8], ebx
je 0x5904f549
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.590a0490
lea eax, [esp + 0x4c]
mov byte [esp + 0xe0], 0
push eax
call fcn.5900b190
add esp, 8
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 2
push ecx
lea ecx, [esp + 0x1c]
call fcn.590a0490
mov edx, dword [esp + 0x18]
mov byte [esp + 0xdc], 4
cmp dword [edx - 8], ebx
jne 0x5904dfd3
jmp 0x5904f527
xor esi, esi
mov eax, dword [esp + esi + 0xb8]
lea ecx, [esp + 0x18]
push eax
call fcn.590a5700
mov dword [esp + esi + 0x9c], eax
add esi, 4
cmp esi, 0x1c
jb 0x5904dfd5
mov eax, dword [0x59162880]
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 0x5904e1ac
mov ecx, dword [0x5916287c]
mov dword [esp + 0x10], ecx
mov bl, 0xd
push esi
push 0x591888d8
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e0fb
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, 0x591888e8
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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.590a30e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0xe
call fcn.590a1040
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
mov ecx, dword [esp + 0x10]
push str.SaveMessage
push ecx
call fcn.59088717
add esp, 8
mov byte [esp + 0xdc], 0xc
test eax, eax
lea ecx, [esp + 0x10]
jne 0x5904e1a2
call fcn.590a0ec0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a6240
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a6240
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a6240
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.590a6240
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a6240
jmp 0x5904f527
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov esi, dword [esp + 0x9c]
cmp esi, 0xffffffff
je 0x5904e356
mov edx, dword [0x5916287c]
mov dword [esp + 0x10], edx
mov bl, 0x10
push esi
push 0x591888d8
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e259
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, 0x591888e8
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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.590a30e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x11
call fcn.590a1040
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x5904e340
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.590a0490
lea eax, [esp + 0x18]
mov byte [esp + 0xe0], bl
push eax
call fcn.5900b190
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x13
call fcn.590a1040
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.5900aca0
add esp, 8
test eax, eax
je 0x5904e32d
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x5904e340
push 1
push 0
push eax
call fcn.5900adb0
mov ebp, eax
lea edi, [ebp + ebp + 4]
push edi
call fcn.5913d2d0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x5904e340
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.5900adb0
add esp, 0xc
lea ecx, [esp + 0x2c]
mov word [esi + ebp*2], 0
push esi
call fcn.590a64c0
push esi
call fcn.5913d2f9
add esp, 4
jmp 0x5904e340
mov ecx, dword [esp + 0x10]
push 0xfde9
push ecx
lea ecx, [esp + 0x34]
call fcn.590aa6a0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov esi, dword [esp + 0xa0]
cmp esi, 0xffffffff
je 0x5904e52c
mov eax, dword [0x5916287c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x15
mov dword [esp + 0x20], eax
push esi
push 0x5918ddd8
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x16
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e439
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, 0x591888e8
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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.590a30e0
mov bl, 0x17
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590a0490
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x19
push ecx
lea ecx, [esp + 0x14]
call fcn.590a1040
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x16
call fcn.590a0ec0
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
test eax, eax
je 0x5904e505
push str._email_:
lea ecx, [esp + 0x14]
call fcn.59081fc0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904e505
push esi
push 0x591888d8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904e4eb
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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, 0x591888e8
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.590a30e0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x1b
call fcn.590a1040
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x16
call fcn.590a0ec0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904e505
push 0xfde9
push eax
lea ecx, [esp + 0x38]
call fcn.590aa6a0
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x15
call fcn.590a0ec0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov esi, dword [esp + 0xa4]
cmp esi, 0xffffffff
je 0x5904e79f
mov eax, dword [0x5916287c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x1e
mov dword [esp + 0x14], eax
push esi
push 0x5918a388
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x1f
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e60f
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, 0x591888e8
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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.590a30e0
mov bl, 0x20
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], bl
call fcn.590a0490
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x22
push ecx
lea ecx, [esp + 0x14]
call fcn.590a1040
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x1f
call fcn.590a0ec0
xor ebp, ebp
mov bl, 0x25
test ebp, ebp
je 0x5904e628
mov edi, 0x5918ddc8
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 0x5904e75e
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904e75e
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 0x591888e8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904e6ec
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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, 0x591888e8
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.590a30e0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], 0x24
call fcn.590a1040
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], 0x1f
call fcn.590a0ec0
mov ecx, dword [0x59162880]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x14]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904e717
push 0xfde9
push eax
lea ecx, [esp + 0x28]
call fcn.590aa6a0
lea edx, [esp + 0x20]
push 0x59187530
lea eax, [esp + 0x20]
push edx
push eax
call fcn.590a69b0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xe0], 0x26
call fcn.590a6ef0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a6240
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x1f
call fcn.590a6240
push ebp
push 0x5918ddc8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5904e613
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x1e
call fcn.590a0ec0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov esi, dword [esp + 0xa8]
cmp esi, 0xffffffff
je 0x5904ea12
mov eax, dword [0x5916287c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x29
mov dword [esp + 0x20], eax
push esi
push 0x5918a388
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x2a
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904e882
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, 0x591888e8
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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.590a30e0
mov bl, 0x2b
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590a0490
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x2d
push ecx
lea ecx, [esp + 0x14]
call fcn.590a1040
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x2a
call fcn.590a0ec0
xor ebp, ebp
mov bl, 0x30
test ebp, ebp
je 0x5904e89b
mov edi, 0x5918ddc8
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 0x5904e9d1
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904e9d1
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 0x591888e8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904e95f
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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, 0x591888e8
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.590a30e0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x2f
call fcn.590a1040
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x2a
call fcn.590a0ec0
mov ecx, dword [0x59162880]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904e98a
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590aa6a0
lea edx, [esp + 0x14]
push 0x59187530
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.590a69b0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe0], 0x31
call fcn.590a6ef0
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], bl
call fcn.590a6240
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x2a
call fcn.590a6240
push ebp
push 0x5918ddc8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5904e886
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x29
call fcn.590a0ec0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov esi, dword [esp + 0xac]
cmp esi, 0xffffffff
je 0x5904ec85
mov eax, dword [0x5916287c]
mov dword [esp + 0x10], eax
mov byte [esp + 0xdc], 0x34
mov dword [esp + 0x20], eax
push esi
push 0x5918a388
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x35
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904eaf5
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, 0x591888e8
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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.590a30e0
mov bl, 0x36
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe0], bl
call fcn.590a0490
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x38
push ecx
lea ecx, [esp + 0x14]
call fcn.590a1040
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x35
call fcn.590a0ec0
xor ebp, ebp
mov bl, 0x3b
test ebp, ebp
je 0x5904eb0e
mov edi, 0x5918ddc8
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 0x5904ec44
push ebp
push str._email_:
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov esi, eax
cmp esi, 0xffffffff
je 0x5904ec44
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 0x591888e8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov edx, eax
sub edx, esi
test edx, edx
jle 0x5904ebd2
mov edi, str._email_:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x591888e8
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, 0x591888e8
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.590a30e0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x3a
call fcn.590a1040
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], 0x35
call fcn.590a0ec0
mov ecx, dword [0x59162880]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
mov byte [esp + 0xdc], bl
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x5904ebfd
push 0xfde9
push eax
lea ecx, [esp + 0x1c]
call fcn.590aa6a0
lea edx, [esp + 0x14]
push 0x59187530
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.590a69b0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xe0], 0x3c
call fcn.590a6ef0
lea ecx, [esp + 0x28]
mov byte [esp + 0xdc], bl
call fcn.590a6240
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x35
call fcn.590a6240
push ebp
push 0x5918ddc8
lea ecx, [esp + 0x18]
call fcn.59081fd0
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x5904eaf9
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x34
call fcn.590a0ec0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov esi, dword [esp + 0xb0]
cmp esi, 0xffffffff
je 0x5904ee29
mov ecx, dword [0x5916287c]
mov dword [esp + 0x10], ecx
mov bl, 0x3e
push esi
push 0x591888d8
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], bl
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
jne 0x5904ecd4
push esi
push 0x5918a75c
lea ecx, [esp + 0x20]
call fcn.59081fd0
mov edx, eax
cmp edx, 0xffffffff
je 0x5904ed26
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.590a30e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x3f
call fcn.590a1040
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x1c]
jmp 0x5904ed88
push 0x22
lea ecx, [esp + 0x1c]
call fcn.59081f90
mov edx, eax
cmp edx, 0xffffffff
je 0x5904ed8d
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.590a30e0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xe0], 0x40
call fcn.590a1040
mov byte [esp + 0xdc], bl
lea ecx, [esp + 0x1c]
call fcn.590a0ec0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
je 0x5904ee13
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.590a0490
lea eax, [esp + 0x20]
mov byte [esp + 0xe0], bl
push eax
call fcn.590306f0
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xe0], 0x42
call fcn.590a63d0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a6240
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.5900bb50
add esp, 8
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xe0], 0x43
call fcn.590a63d0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a6240
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
mov eax, dword [0x59162880]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904ef0a
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904ef0a
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904ef0a
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904ef0a
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904ef0a
mov edx, dword [esp + 0x34]
mov ecx, dword [edx - 8]
test ecx, ecx
jne 0x5904ef0a
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx - 8]
test edx, edx
jne 0x5904ef0a
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a6240
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a6240
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a6240
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.590a6240
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a6240
jmp 0x5904f527
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x5904ef9b
mov dword [ecx], 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a6240
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a6240
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a6240
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.590a6240
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a6240
jmp 0x5904f527
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xf0]
mov byte [esp + 0xdc], 0x46
test esi, esi
je 0x5904f3e5
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 [0x5916287c]
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.590a63d0
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x84]
call fcn.590a63d0
lea edx, [esp + 0x38]
lea ecx, [esp + 0x84]
push edx
call fcn.590a63d0
lea eax, [esp + 0x34]
lea ecx, [esp + 0x88]
push eax
call fcn.590a63d0
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x80]
call fcn.590a63d0
lea edx, [esp + 0x24]
lea ecx, [esp + 0x8c]
push edx
call fcn.590a63d0
lea eax, [esp + 0x44]
lea ecx, [esp + 0x90]
push eax
call fcn.590a63d0
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x78]
call fcn.590a63d0
lea edx, [esp + 0x1c]
push 0x59189484
push edx
call fcn.59059ed0
add esp, 8
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xe0], 0x51
call fcn.590a1040
lea ecx, [esp + 0x1c]
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
mov eax, dword [esp + 0x94]
push 0x180
push 0x8101
push eax
call fcn.5908928d
mov ecx, dword [0x5916287c]
add esp, 0xc
mov edi, eax
mov dword [esp + 0x10], ecx
cmp edi, 0xffffffff
mov byte [esp + 0xdc], 0x52
je 0x5904f1b9
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
push edx
push eax
push edi
call fcn.5908909d
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.590a3d20
mov edx, dword [esp + 0x30]
add esp, 0x20
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
push eax
push 0
call fcn.590a1b50
push eax
push edi
call fcn.5908909d
push edi
call fcn.59088fbd
add esp, 0x10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov esi, dword [0x591ad584]
mov eax, dword [eax - 8]
add eax, ecx
cmp esi, esi
mov dword [esp + 0x98], eax
jl 0x5904f1e7
lea edx, [esi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x591ad580
call fcn.59060b80
mov ecx, dword [0x591ad580]
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.590a63d0
lea ecx, [esp + 0x78]
push ecx
lea ecx, [ebp + 0x20]
call fcn.590a63d0
lea edx, [esp + 0x7c]
lea ecx, [ebp + 0x24]
push edx
call fcn.590a63d0
lea eax, [esp + 0x80]
lea ecx, [ebp + 0x28]
push eax
call fcn.590a63d0
lea ecx, [esp + 0x84]
push ecx
lea ecx, [ebp + 0x2c]
call fcn.590a63d0
lea edx, [esp + 0x88]
lea ecx, [ebp + 0x30]
push edx
call fcn.590a63d0
lea eax, [esp + 0x8c]
lea ecx, [ebp + 0x34]
push eax
call fcn.590a63d0
lea ecx, [esp + 0x90]
push ecx
lea ecx, [ebp + 0x38]
call fcn.590a63d0
lea edx, [esp + 0x94]
lea ecx, [ebp + 0x3c]
push edx
call fcn.590a1040
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x10]
mov dword [ebp + 0x40], eax
mov byte [esp + 0xdc], bl
call fcn.590a0ec0
lea ecx, [esp + 0x94]
mov byte [esp + 0xdc], 0x5a
call fcn.590a0ec0
lea ecx, [esp + 0x90]
mov byte [esp + 0xdc], 0x59
call fcn.590a6240
lea ecx, [esp + 0x8c]
mov byte [esp + 0xdc], 0x58
call fcn.590a6240
lea ecx, [esp + 0x88]
mov byte [esp + 0xdc], 0x57
call fcn.590a6240
lea ecx, [esp + 0x84]
mov byte [esp + 0xdc], 0x56
call fcn.590a6240
lea ecx, [esp + 0x80]
mov byte [esp + 0xdc], 0x55
call fcn.590a6240
mov byte [esp + 0xdc], 0x54
lea ecx, [esp + 0x7c]
call fcn.590a6240
lea ecx, [esp + 0x78]
mov byte [esp + 0xdc], 0x53
call fcn.590a6240
lea ecx, [esp + 0x74]
mov byte [esp + 0xdc], 0x46
call fcn.590a6240
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xc
call fcn.590a6240
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a6240
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a6240
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a6240
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.590a6240
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a6240
jmp 0x5904f527
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xc
call fcn.590a6240
lea ecx, [esp + 0x4c]
push 0
push ecx
call fcn.59059db0
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.5900c690
add esp, 0x34
test eax, eax
je 0x5904f49f
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
push edi
push esi
push ecx
call fcn.5900c480
add esp, 0xc
test eax, eax
je 0x5904f49f
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.5900e750
add esp, 0x44
lea ecx, [esp + 0x4c]
mov byte [esp + 0xdc], 0xc
call fcn.590a0ec0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xdc], 0xb
call fcn.590a6240
lea ecx, [esp + 0x34]
mov byte [esp + 0xdc], 0xa
call fcn.590a6240
lea ecx, [esp + 0x38]
mov byte [esp + 0xdc], 9
call fcn.590a6240
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 8
call fcn.590a6240
lea ecx, [esp + 0x44]
mov byte [esp + 0xdc], 7
call fcn.590a6240
lea ecx, [esp + 0x24]
mov byte [esp + 0xdc], 6
call fcn.590a6240
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 4
call fcn.590a6240
lea ecx, [esp + 0x18]
mov byte [esp + 0xdc], 2
call fcn.590a0ec0
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 0
call fcn.590a0ec0
lea ecx, [esp + 0x40]
mov dword [esp + 0xdc], 0xffffffff
call fcn.590a0ec0
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xd0
ret