Function at 0x10045640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1018e7d3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x214
push ebx
push ebp
mov ebp, ecx
push esi
push edi
push 1
lea eax, [ebp + 0x14]
lea ecx, [esp + 0xf8]
push eax
call fcn.10084010
mov eax, dword [esp + 0x240]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x22c], ebx
mov dword [esp + 0x88], ebx
je 0x1004635c
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x244]
mov dword [ebp + 0x10], eax
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
mov edi, dword [ecx]
mov dword [esp + 0x2c], edi
je 0x1004635c
lea edx, [esp + 0x34]
mov ecx, ebp
push edx
call fcn.10045250
lea ecx, [esp + 0x100]
mov byte [esp + 0x22c], 1
call fcn.100a4890
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x100]
push eax
mov byte [esp + 0x230], 2
call fcn.1004a5b0
test eax, eax
je 0x10046209
lea ecx, [esp + 0x9c]
call fcn.100445f0
mov ecx, dword [esp + 0x234]
mov byte [esp + 0x22c], 3
mov edx, dword [ecx]
mov dword [esp + 0xa4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0xa8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0xac], edx
lea edx, [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x238]
mov dword [esp + 0xb4], ecx
push edx
lea ecx, [esp + 0x104]
mov dword [esp + 0xb4], eax
call fcn.1004b000
push eax
lea ecx, [esp + 0xc8]
mov byte [esp + 0x230], 4
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
lea eax, [esp + 0x10]
lea ecx, [esp + 0x100]
push eax
call fcn.1004b0a0
push eax
lea ecx, [esp + 0xcc]
mov byte [esp + 0x230], 5
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x104]
call fcn.1004b180
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0x230], 6
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
mov edx, dword [esp + 0x23c]
lea eax, [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0x108]
call fcn.1004a7d0
push eax
lea ecx, [esp + 0xd4]
mov byte [esp + 0x230], 7
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x104]
call fcn.1004af80
push eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0x230], 8
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
lea edx, [esp + 0x10]
lea ecx, [esp + 0x100]
push edx
call fcn.1004aea0
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x230], 9
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
lea eax, [esp + 0x10]
lea ecx, [esp + 0x100]
push eax
call fcn.1004af10
push eax
lea ecx, [esp + 0xe0]
mov byte [esp + 0x230], 0xa
call fcn.100776b0
lea ecx, [esp + 0x10]
mov byte [esp + 0x22c], 3
call fcn.10077520
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x84]
lea edx, [esp + 0x90]
push ecx
push edx
push eax
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x90], ebx
call fcn.100998d0
add esp, 0xc
test eax, eax
je 0x10045922
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x84]
xor ecx, ecx
xor esi, esi
or ecx, eax
or edx, esi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
jmp 0x10045943
cmp dword [0x10201328], ebx
je 0x10045943
push str.ParseMail_GetFileLenW_fail
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x10
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
lea ecx, [esp + 0x68]
mov byte [esp + 0x22c], 0xb
push ecx
lea ecx, [esp + 0x104]
call fcn.1004ad30
cmp dword [esp + 0x6c], ebx
jle 0x10045a15
lea edx, [esp + 0x10]
mov ecx, ebp
push edx
call fcn.10045520
mov eax, dword [eax]
push 2
push eax
mov byte [esp + 0x234], 0xc
call fcn.1009c530
add esp, 8
lea ecx, [esp + 0x10]
mov esi, eax
mov byte [esp + 0x22c], 0xb
call fcn.10077520
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.100455b0
mov eax, dword [eax]
push 2
push eax
mov byte [esp + 0x234], 0xd
call fcn.1009c530
add esp, 8
lea ecx, [esp + 0x10]
mov edi, eax
mov byte [esp + 0x22c], 0xb
call fcn.10077520
cmp dword [0x10201328], ebx
je 0x10045a01
push edi
push esi
push str.ParseMail_bMakeDir1__d__bMakeDir2__d_
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x18
cmp esi, ebx
je 0x1004623b
cmp edi, ebx
je 0x1004623b
mov edi, dword [esp + 0x2c]
mov eax, dword [0x1019b4e4]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
push 0x101ec534
lea ecx, [esp + 0x54]
mov byte [esp + 0x230], 0x11
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
call fcn.100777a0
push 0x101ec534
lea ecx, [esp + 0x58]
call fcn.100777a0
push 0x101ec534
lea ecx, [esp + 0x5c]
call fcn.100777a0
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x22c], 0x12
cmp eax, ebx
mov dword [esp + 0x10], ebx
jle 0x10046150
xor ecx, ecx
mov dword [esp + 0x7c], ecx
jmp 0x10045a90
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x68]
mov edx, dword [ecx + eax]
lea eax, [ecx + eax + 8]
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x40], edx
call fcn.100776b0
mov ecx, dword [0x1019b4e4]
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x98]
mov ecx, ebp
push edx
mov byte [esp + 0x230], 0x13
call fcn.10045520
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x24]
push str._s_lu
push eax
mov byte [esp + 0x23c], 0x14
call fcn.1007a4a0
add esp, 0x10
lea ecx, [esp + 0x98]
mov byte [esp + 0x22c], 0x13
call fcn.10077520
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
call fcn.1009c530
add esp, 8
test eax, eax
je 0x100460bf
mov edx, dword [0x1019b4e4]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x1c]
push 0x101c4b5c
push edx
mov byte [esp + 0x23c], 0x15
call fcn.1007a4a0
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.10054580
add esp, 0x18
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x234], 0x16
call fcn.10049660
test eax, eax
je 0x100460ef
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x58]
call fcn.100776b0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x80]
lea eax, [esp + 0x8c]
push edx
push eax
push ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x8c], ebx
call fcn.100998d0
add esp, 0xc
test eax, eax
je 0x10045bd4
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x80]
xor edx, edx
xor esi, esi
or edx, ecx
or eax, esi
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x18]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
call fcn.100f0030
add esp, 0x28
test eax, eax
jne 0x10045dc7
lea eax, [esp + 0x38]
lea ecx, [esp + 0x2c]
push eax
push ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
call fcn.100efb50
mov ecx, dword [0x10201328]
add esp, 8
cmp ecx, ebx
je 0x10045c3f
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push eax
push edx
push str.ParseMail_attach__s__is_decrypted:_Err__lu__lastErr__lu__errLine__lu_
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
push eax
call fcn.1004c3d0
add esp, 4
test eax, eax
je 0x10045db4
cmp edi, ebx
je 0x10046036
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x1019b4e4]
or al, 2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x94]
mov ecx, ebp
push edx
mov byte [esp + 0x230], 0x17
call fcn.100455b0
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x38]
push str._s_lu
push eax
mov byte [esp + 0x23c], 0x18
call fcn.1007a4a0
add esp, 0x10
lea ecx, [esp + 0x94]
mov byte [esp + 0x22c], 0x17
call fcn.10077520
mov ecx, dword [esp + 0x30]
push ebx
push ecx
call fcn.1009c530
add esp, 8
test eax, eax
jne 0x10045d0a
cmp dword [0x10201328], ebx
je 0x10045cf9
mov edx, dword [esp + 0x30]
push edx
push str.ParseMail_make_dest_dir__s__fail
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x14
mov byte [esp + 0x22c], 0x16
lea ecx, [esp + 0x30]
jmp 0x10046031
mov eax, dword [0x1019b4e4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x101d1520
push eax
mov byte [esp + 0x23c], 0x19
call fcn.1007a4a0
add esp, 0x10
lea ecx, [esp + 0x1ac]
call fcn.10056520
push ebp
push 0x10048b90
lea ecx, [esp + 0x6c]
push 0x10048a10
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x240], 0x1a
call fcn.10056710
test eax, eax
je 0x10045d7e
lea eax, [esp + 0x64]
lea ecx, [esp + 0x58]
push eax
call fcn.100776b0
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x22c], 0x19
call fcn.10056580
lea ecx, [esp + 0x64]
mov byte [esp + 0x22c], 0x17
call fcn.10077520
mov byte [esp + 0x22c], 0x16
lea ecx, [esp + 0x30]
jmp 0x10046031
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x5c]
call fcn.100776b0
jmp 0x10046036
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
push 1
push edx
push eax
push ecx
mov dword [esp + 0x5c], 1
call dword [ebp + 8]
add esp, 0x10
test eax, eax
je 0x10046036
mov edx, dword [0x1019b4e4]
mov dword [esp + 0x24], edx
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
mov byte [esp + 0x230], 0x1b
call fcn.100455b0
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x2c]
push str._s_lu
push eax
mov byte [esp + 0x23c], 0x1c
call fcn.1007a4a0
add esp, 0x10
lea ecx, [esp + 0x28]
mov byte [esp + 0x22c], 0x1b
call fcn.10077520
mov ecx, dword [esp + 0x24]
push ebx
push ecx
call fcn.1009c530
add esp, 8
test eax, eax
jne 0x10045e7a
cmp dword [0x10201328], ebx
je 0x10046025
push str.ParseMail_decrypted_before_decrypt__make_dir_fail
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x10
jmp 0x10046025
mov edx, dword [0x1019b4e4]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
push eax
push ecx
lea edx, [esp + 0x28]
push 0x101c4b5c
push edx
mov byte [esp + 0x23c], 0x1d
call fcn.1007a4a0
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.10054580
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
push 1
push 2
push ebx
push edx
push eax
mov byte [esp + 0x258], 0x1e
call fcn.100f31a0
add esp, 0x2c
test eax, eax
je 0x10045f32
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x38]
push ecx
push edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
call fcn.100efb50
mov ecx, dword [0x10201328]
add esp, 8
cmp ecx, ebx
je 0x10046003
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x6c]
push eax
push ecx
push str.ParseMail_decrypted_attach__s__to__s_fail:_Err__lu__lastErr__lu__errLine__lu_
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x24
jmp 0x10046003
mov edx, dword [esp + 0x20]
push edx
call fcn.1004c3d0
add esp, 4
cmp eax, ebx
je 0x10045ff5
mov ecx, dword [esp + 0x4c]
or ecx, 2
cmp edi, ebx
mov dword [esp + 0x4c], ecx
je 0x10045ff5
mov eax, dword [0x1019b4e4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
push ecx
push edx
lea eax, [esp + 0x64]
push 0x101d1520
push eax
mov byte [esp + 0x23c], 0x1f
call fcn.1007a4a0
add esp, 0x10
lea ecx, [esp + 0x1e8]
call fcn.10056520
push ebp
push 0x10048b90
lea ecx, [esp + 0x64]
push 0x10048a10
lea edx, [esp + 0x2c]
push ecx
push edx
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x240], 0x20
call fcn.10056710
test eax, eax
je 0x10045fce
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x58]
push eax
call fcn.100776b0
lea ecx, [esp + 0x1e8]
mov byte [esp + 0x22c], 0x1f
call fcn.10056580
lea ecx, [esp + 0x5c]
mov byte [esp + 0x22c], 0x1e
call fcn.10077520
jmp 0x10046003
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x5c]
call fcn.100776b0
lea ecx, [esp + 0x60]
mov byte [esp + 0x22c], 0x1d
call fcn.10077520
lea ecx, [esp + 0x20]
mov byte [esp + 0x22c], 0x1b
call fcn.10077520
mov byte [esp + 0x22c], 0x16
lea ecx, [esp + 0x24]
call fcn.10077520
lea ecx, [esp + 0x18]
mov byte [esp + 0x22c], 0x15
call fcn.10077520
lea ecx, [esp + 0x14]
mov byte [esp + 0x22c], 0x13
call fcn.10077520
lea ecx, [esp + 0x1c]
mov byte [esp + 0x22c], 0x12
call fcn.10077520
mov eax, dword [esp + 0xe4]
push 0xffffffffffffffff
mov esi, eax
inc eax
push eax
lea ecx, [esp + 0xe8]
call fcn.100493a0
mov eax, dword [esp + 0xe0]
mov ecx, esi
lea edx, [esp + 0x3c]
shl ecx, 5
push edx
add ecx, eax
call fcn.10049510
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
inc eax
add edx, 0xc
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x7c], edx
jl 0x10045a8c
jmp 0x10046150
cmp dword [0x10201328], ebx
je 0x100460e5
mov eax, dword [esp + 0x1c]
push eax
push str.ParseMail_make_dir__s__fail
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x14
mov dword [esp + 0x78], 1
jmp 0x1004613f
cmp dword [0x10201328], ebx
je 0x10046115
mov ecx, dword [esp + 0x18]
push ecx
push str.ParseMail_save_attach__s__fail
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x14
lea ecx, [esp + 0x18]
mov dword [esp + 0x78], 1
mov byte [esp + 0x22c], 0x15
call fcn.10077520
lea ecx, [esp + 0x14]
mov byte [esp + 0x22c], 0x13
call fcn.10077520
lea ecx, [esp + 0x1c]
mov byte [esp + 0x22c], 0x12
call fcn.10077520
lea ecx, [esp + 0x100]
call fcn.1004aff0
cmp dword [esp + 0x78], ebx
jne 0x1004629a
lea edx, [esp + 0x9c]
mov ecx, ebp
push edx
call fcn.10046c00
mov dword [esp + 0x88], 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x22c], 0x25
call fcn.10077520
lea ecx, [esp + 0x54]
mov byte [esp + 0x22c], 0x24
call fcn.10077520
lea ecx, [esp + 0x50]
mov byte [esp + 0x22c], 0xb
call fcn.10077520
mov esi, dword [esp + 0x68]
mov byte [esp + 0x22c], 3
cmp esi, ebx
je 0x10046323
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], esi
cmp eax, ebx
je 0x1004631a
lea edi, [eax]
mov bl, 0x26
lea ecx, [esi + 8]
mov byte [esp + 0x22c], bl
call fcn.10077520
lea ecx, [esi + 4]
mov byte [esp + 0x22c], 3
call fcn.10077520
add esi, 0xc
dec edi
mov dword [esp + 0x28], esi
jne 0x100461db
jmp 0x10046316
cmp dword [0x10201328], ebx
je 0x1004622a
push str.ParseMail_Parse_fail
push str.MailInfo
push 4
push 0x10200a94
call fcn.1008b760
add esp, 0x10
lea ecx, [esp + 0x100]
call fcn.1004aff0
jmp 0x10046337
lea ecx, [esp + 0x100]
call fcn.1004aff0
mov esi, dword [esp + 0x68]
mov byte [esp + 0x22c], 3
cmp esi, ebx
je 0x10046323
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], esi
cmp eax, ebx
je 0x1004631a
lea edi, [eax]
mov bl, 0xe
lea ecx, [esi + 8]
mov byte [esp + 0x22c], bl
call fcn.10077520
lea ecx, [esi + 4]
mov byte [esp + 0x22c], 3
call fcn.10077520
add esi, 0xc
dec edi
mov dword [esp + 0x28], esi
jne 0x1004626f
jmp 0x10046316
lea ecx, [esp + 0x58]
mov byte [esp + 0x22c], 0x22
call fcn.10077520
lea ecx, [esp + 0x54]
mov byte [esp + 0x22c], 0x21
call fcn.10077520
lea ecx, [esp + 0x50]
mov byte [esp + 0x22c], 0xb
call fcn.10077520
mov esi, dword [esp + 0x68]
mov byte [esp + 0x22c], 3
cmp esi, ebx
je 0x10046323
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], esi
cmp eax, ebx
je 0x1004631a
lea edi, [eax]
mov bl, 0x23
lea ecx, [esi + 8]
mov byte [esp + 0x22c], bl
call fcn.10077520
lea ecx, [esi + 4]
mov byte [esp + 0x22c], 3
call fcn.10077520
add esi, 0xc
dec edi
mov dword [esp + 0x28], esi
jne 0x100462ed
mov esi, dword [esp + 0x68]
push esi
call fcn.1017c36b
add esp, 4
lea ecx, [esp + 0x9c]
mov byte [esp + 0x22c], 2
call fcn.100446b0
lea ecx, [esp + 0x100]
mov byte [esp + 0x22c], 1
call fcn.100a4a00
lea ecx, [esp + 0x34]
mov byte [esp + 0x22c], 0
call fcn.10077520
lea ecx, [esp + 0xf4]
mov dword [esp + 0x22c], 0xffffffff
call fcn.10084070
mov ecx, dword [esp + 0x224]
mov eax, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x220
ret 0x14