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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x4184e8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
and dword [ebp - 0x214], 0
push ebx
push esi
mov esi, dword [eax]
mov ebx, ecx
mov eax, dword [0x418ce8]
push edi
cmp eax, dword [esi + 4]
jg 0x40e8e8
mov eax, dword [0x418cec]
cmp eax, dword [esi + 4]
jg 0x40e92d
push 1
xor edi, edi
call fcn.00416d36
push eax
push 0x4034c4
push dword [ebx + 0x20]
call dword [sym.imp.msvcrt.dll__wfreopen]
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x224], esi
push dword [ebx + 0x20]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [ebx + 0x20], edi
test esi, esi
je 0x40e8d7
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x40e6b5
cmp dword [eax + 4], edi
je 0x40e6b5
mov edi, 0x80004004
jmp 0x40e8ae
lea eax, [ebp - 0x220]
push eax
push 0x40b37c
push dword [ebx + 0x24]
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
and dword [ebx + 0x24], 0
mov edi, eax
test edi, edi
js 0x40e892
push dword [ebp - 0x220]
mov ecx, ebx
call fcn.0040e1be
mov edi, eax
test edi, edi
js 0x40e88b
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x40e6fc
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x3c], eax
push dword [ebx + 4]
mov dword [ebp - 0x21c], 5
push dword [ebx]
push dword [ebx + 0x18]
call fcn.0040b980
mov esi, 0x418004
xor eax, eax
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x218], eax
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x40e735
cmp ecx, dword [ebx]
jne 0x40e82d
mov edx, dword [esi - 4]
cmp edx, dword [ebp - 0x21c]
je 0x40e7e4
xor edi, edi
mov dword [ebp - 0x21c], edx
xor ecx, ecx
xor eax, eax
cmp edx, dword [eax + 0x401110]
je 0x40e763
add eax, 0xc
inc ecx
cmp eax, 0x48
jb 0x40e750
jmp 0x40e765
mov edi, ecx
imul edi, edi, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push dword [edi + 0x401118]
push dword [0x418be8]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x40e7e4
mov eax, dword [edi + 0x401114]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x228], eax
cmp dword [edi + 0x7108], 0
jne 0x40e7b6
push 0x4024b4
call dword [sym.imp.msvcrt.dll_wprintf]
mov eax, dword [ebp - 0x228]
pop ecx
jmp 0x40e7bd
and dword [edi + 0x7108], 0
push eax
push 0x4024d0
call dword [sym.imp.msvcrt.dll_wprintf]
add esp, 4
lea eax, [ebp - 0x20c]
lea ecx, [edi + 0x710c]
mov edx, 0x104
push eax
push ecx
call fcn.0041542f
mov ecx, dword [ebx + 0x10]
call fcn.0040bec3
lea eax, [esi + 8]
push eax
push dword [esi]
mov esi, dword [eax - 4]
mov ecx, esi
call dword [0x419350]
mov ecx, ebx
call esi
mov ecx, dword [ebx + 0x1c]
mov edi, eax
test ecx, ecx
je 0x40e81a
mov eax, dword [ebp - 0x210]
push dword [eax]
push dword [eax - 4]
call fcn.004158f9
push dword [ebp - 0x224]
call dword [sym.imp.msvcrt.dll_fflush]
mov eax, dword [ebp - 0x218]
pop ecx
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x40e85c
push 0
push 0xa
push 0x403
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, esi
call fcn.00415a84
mov esi, dword [ebx + 0x1c]
cmp dword [esi + 4], 0
jne 0x40e87e
mov eax, dword [ebp - 0x218]
add dword [ebp - 0x210], 0x20
add eax, 0x20
mov dword [ebp - 0x218], eax
cmp eax, 0x3e0
jae 0x40e883
mov esi, dword [ebp - 0x210]
jmp 0x40e726
mov edi, 0x80004004
test esi, esi
je 0x40e88b
and dword [esi + 0x3c], 0
mov ecx, ebx
call fcn.0040e469
mov eax, dword [ebp - 0x220]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x419350]
call esi
mov esi, dword [ebp - 0x224]
push esi
call dword [sym.imp.msvcrt.dll_fclose]
push 1
call fcn.00416d36
push eax
push 0x4034e4
push 0x4034e8
call dword [sym.imp.msvcrt.dll__wfreopen]
add esp, 0x14
test eax, eax
jne 0x40e8d7
push 2
pop edi
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416580
leave
ret
mov edi, 0x418ce8
push edi
call fcn.004168e5
cmp dword [0x418ce8], 0xffffffff
pop ecx
jne 0x40e657
and dword [0x418bd8], 0
lea eax, [ebp - 0x214]
and dword [0x418bdc], 0
and dword [0x418be0], 0
push edi
mov dword [0x418bd4], eax
call fcn.00416892
pop ecx
jmp 0x40e657
push 0x418cec
call fcn.004168e5
cmp dword [0x418cec], 0xffffffff
pop ecx
jne 0x40e668
mov eax, 0x418bd4
mov edi, 0x41800c
mov esi, eax
xor ecx, ecx
mov edx, 0x40efe0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41801c], ecx
mov esi, eax
mov dword [0x418020], ecx
mov edi, 0x41802c
mov dword [0x418024], 0x402d70
mov dword [0x418028], 0x40f980
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41803c], ecx
mov esi, eax
mov dword [0x418040], ecx
mov edi, 0x41804c
mov dword [0x418044], 0x402dbc
mov dword [0x418048], 0x40f280
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41805c], ecx
mov esi, eax
mov dword [0x418060], ecx
lea eax, [ebx + 0x78]
mov dword [0x418064], 0x402df0
mov edi, 0x41806c
mov dword [0x418068], 0x40f5f0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x418098], 0
mov edi, 0x4180ac
and dword [0x41809c], 0
mov dword [0x41808c], eax
mov eax, 0x418bd4
mov dword [0x41807c], ecx
mov esi, eax
mov dword [0x418080], ecx
mov ecx, 0x3e8
mov dword [0x418084], 0x402e4c
mov dword [0x418088], edx
mov dword [0x418090], ecx
mov dword [0x418094], 0x1388
mov dword [0x4180a0], 1
mov dword [0x4180a4], 0x402e84
mov dword [0x4180a8], 0x40fae0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x4180bc], 0
mov esi, eax
mov dword [0x4180c0], 1
mov edi, 0x4180cc
mov dword [0x4180c4], 0x402ec8
mov dword [0x4180c8], 0x40fe20
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x4180dc], 0
mov esi, eax
mov edi, 0x4180ec
mov dword [0x4180e0], 1
mov dword [0x4180e4], 0x402f18
mov dword [0x4180e8], 0x40fb90
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x4180fc], 0
mov dword [0x418100], 1
mov esi, eax
mov dword [0x418104], 0x402f44
lea eax, [ebx + 0x7c]
mov dword [0x418108], 0x40ff50
mov edi, 0x41810c
push 2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x41811c], 0
mov edi, 0x41814c
mov dword [0x418134], ecx
mov ecx, 0x418bd4
mov dword [0x41812c], eax
mov esi, ecx
mov dword [0x418128], edx
xor eax, eax
mov dword [0x418138], eax
mov dword [0x41813c], eax
mov dword [0x418120], 1
mov dword [0x418124], 0x402f64
mov dword [0x418130], 0x1f4
mov dword [0x418140], 2
mov dword [0x418144], 0x402fa0
mov dword [0x418148], 0x4100b0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41815c], eax
mov esi, ecx
mov dword [0x418160], 2
mov edi, 0x41816c
mov dword [0x418164], 0x402fe0
mov dword [0x418168], 0x410480
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41817c], eax
mov esi, ecx
mov dword [0x418180], 2
mov edi, 0x41818c
mov dword [0x418184], 0x403030
mov dword [0x418188], 0x410170
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41819c], eax
mov edi, 0x4181cc
pop esi
mov dword [0x4181a0], esi
lea eax, [ebx + 0x80]
mov dword [0x4181c0], esi
mov esi, ecx
mov dword [0x4181a8], edx
mov dword [0x4181ac], eax
xor eax, eax
mov dword [0x4181a4], 0x403070
mov dword [0x4181b0], 0x32
push 0x64
mov dword [0x4181b8], eax
mov dword [0x4181bc], eax
mov dword [0x4181c4], 0x4030b4
mov dword [0x4181c8], 0x4107a0
pop edx
mov dword [0x4181b4], edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov dword [0x4181dc], eax
mov edi, 0x4181ec
mov dword [0x4181e0], 2
mov dword [0x4181e4], 0x4030e8
mov dword [0x4181e8], 0x4109a0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x4181fc], eax
mov esi, ecx
mov dword [0x418200], 2
lea eax, [ebp - 0x214]
mov dword [0x418204], 0x403134
mov edi, 0x41820c
mov dword [0x418208], 0x410b80
mov ecx, 0x411130
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov dword [0x41822c], eax
mov dword [0x41824c], eax
mov eax, 0x418bd4
mov dword [0x41821c], esi
mov dword [0x418230], esi
mov dword [0x418234], esi
mov dword [0x41823c], esi
mov dword [0x418250], esi
mov dword [0x418254], esi
mov dword [0x41825c], esi
mov esi, eax
pop edi
mov dword [0x418220], edi
mov dword [0x418240], edi
mov dword [0x418260], edi
mov edi, 0x41826c
mov dword [0x418228], ecx
mov dword [0x418248], ecx
mov dword [0x418224], 0x403160
mov dword [0x418238], 0x4010d8
mov dword [0x418244], 0x4031c0
mov dword [0x418258], 0x4010b0
mov dword [0x418264], 0x403220
mov dword [0x418268], 0x411470
movsd dword es:[edi], dword [esi]
push 3
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x41827c], 0
mov esi, eax
mov dword [0x418280], 2
mov edi, 0x41828c
mov dword [0x418284], 0x403244
mov dword [0x418288], 0x411570
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x41829c], 0
mov esi, eax
mov edi, 0x4182ac
mov dword [0x4182a0], ecx
mov dword [0x4182a4], 0x403278
lea eax, [ebx + 0x88]
mov dword [0x4182a8], 0x4119b0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [0x4182bc], 0
mov dword [0x4182cc], eax
xor eax, eax
mov dword [0x4182c0], ecx
mov dword [0x4182c4], 0x4032b8
mov dword [0x4182c8], 0x40efe0
mov dword [0x4182d0], 0x32
mov dword [0x4182d4], edx
mov dword [0x4182d8], eax
mov dword [0x4182dc], eax
mov dword [0x4182e0], ecx
mov dword [0x4182e4], 0x4032f0
mov dword [0x4182e8], 0x411f30
mov edx, 0x418bd4
mov edi, 0x4182ec
mov esi, edx
push 4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x418300], ecx
mov esi, edx
mov dword [0x4182fc], eax
mov edi, 0x41830c
mov dword [0x418304], 0x40333c
mov dword [0x418308], 0x412100
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x418320], ecx
mov esi, edx
mov dword [0x41831c], eax
mov edi, 0x41832c
mov dword [0x418324], 0x403370
mov dword [0x418328], 0x4124c0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x418340], ecx
mov esi, edx
mov dword [0x41833c], eax
mov edi, 0x41834c
mov dword [0x418344], 0x4033b0
xor ecx, ecx
mov dword [0x418348], 0x413100
inc ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41835c], eax
mov esi, edx
mov dword [0x418364], 0x4033f0
mov edi, 0x41836c
mov dword [0x418368], 0x413250
pop eax
mov dword [0x418360], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41837c], ecx
mov esi, edx
mov dword [0x418380], eax
mov edi, 0x41838c
mov dword [0x418384], 0x40341c
mov dword [0x418388], 0x4134a0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x41839c], ecx
mov esi, edx
mov dword [0x4183a0], eax
mov edi, 0x4183ac
mov dword [0x4183a4], 0x403458
mov dword [0x4183a8], 0x413300
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, edx
mov dword [0x4183bc], ecx
mov edi, 0x4183cc
mov dword [0x4183c0], eax
mov dword [0x4183c4], 0x403484
mov dword [0x4183c8], 0x4135a0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x418cec
mov dword [0x4183dc], ecx
call fcn.00416892
pop ecx
jmp 0x40e668