Function at 0x408d90
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, dword [0x44c448]
mov dword [ebp - 0x10], edi
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x408dec
cmp byte [edi + 1], 0
je 0x408dec
mov byte [eax + 0x10], 0
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x408dec
mov ecx, esi
call fcn.00429c30
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x408dcd
call fcn.0040a8a0
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x408dd9
call fcn.0040a8a0
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x408de5
call fcn.0040a8a0
mov ecx, esi
call fcn.0040a8a0
mov dword [edi + 0x2c], 0
mov ecx, dword [edi + 0x3d98]
test ecx, ecx
je 0x408e20
mov dword [edi + 0x3d94], 0
mov dword [edi + 0x3d90], 0
call fcn.0040a8a0
mov dword [edi + 0x3d98], 0
cmp byte [edi], 0
je 0x409748
cmp byte [edi + 0x5ef8], 0
je 0x408e82
mov esi, dword [edi + 0x20]
test esi, esi
je 0x408e82
mov eax, dword [0x44c448]
lea ecx, [ebp - 4]
mov dword [ebp - 4], 0
mov dword [eax + 0x5efc], 0
call fcn.0041d9c0
mov edx, 0x4448e8
mov ecx, esi
mov ebx, eax
call fcn.00406b40
mov esi, eax
test esi, esi
je 0x408e82
push esi
push dword [ebp - 4]
push 1
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
mov eax, dword [edi + 0x5f30]
mov esi, dword [edi + 0x5f38]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*4]
cmp esi, ebx
je 0x408eaf
cmp dword [esi + 4], 6
jne 0x408ea8
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 8
add esi, 0x14
cmp esi, ebx
jne 0x408e98
xor esi, esi
mov dword [ebp - 8], esi
cmp dword [edi + 0x3fb8], esi
jle 0x408fe1
mov eax, dword [edi + 0x3fc0]
mov ebx, dword [eax + esi*4]
test ebx, ebx
je 0x408fd1
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x408edd
call fcn.0040a8a0
cmp dword [ebx + 0x264], 0
jle 0x408f38
xor ecx, ecx
mov dword [ebp - 4], ecx
mov edi, ecx
nop dword [eax]
mov eax, dword [ebx + 0x26c]
add eax, ecx
mov dword [ebp - 0xc], eax
lea esi, [eax + 0x68]
mov ecx, esi
call fcn.00429540
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x408f11
call fcn.0040a8a0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x64]
test ecx, ecx
je 0x408f20
call fcn.0040a8a0
mov ecx, dword [ebp - 4]
inc edi
add ecx, 0x7c
mov dword [ebp - 4], ecx
cmp edi, dword [ebx + 0x264]
jl 0x408ef0
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + 0x26c]
test ecx, ecx
je 0x408f65
mov dword [ebx + 0x268], 0
mov dword [ebx + 0x264], 0
call fcn.0040a8a0
mov dword [ebx + 0x26c], 0
lea ecx, [ebx + 0x27c]
call fcn.004041d0
mov ecx, dword [ebx + 0x26c]
test ecx, ecx
je 0x408f7f
call fcn.0040a8a0
mov ecx, dword [ebx + 0x260]
test ecx, ecx
je 0x408f8e
call fcn.0040a8a0
mov ecx, dword [ebx + 0x1d0]
test ecx, ecx
je 0x408f9d
call fcn.0040a8a0
mov ecx, dword [ebx + 0x1c4]
test ecx, ecx
je 0x408fac
call fcn.0040a8a0
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x408fbb
call fcn.0040a8a0
mov ecx, dword [ebx + 0xfc]
test ecx, ecx
je 0x408fca
call fcn.0040a8a0
mov ecx, ebx
call fcn.0040a8a0
inc esi
mov dword [ebp - 8], esi
cmp esi, dword [edi + 0x3fb8]
jl 0x408ec0
mov ecx, dword [edi + 0x3fc0]
test ecx, ecx
je 0x40900e
mov dword [edi + 0x3fbc], 0
mov dword [edi + 0x3fb8], 0
call fcn.0040a8a0
mov dword [edi + 0x3fc0], 0
mov ecx, dword [edi + 0x3fcc]
test ecx, ecx
je 0x40903b
mov dword [edi + 0x3fc8], 0
mov dword [edi + 0x3fc4], 0
call fcn.0040a8a0
mov dword [edi + 0x3fcc], 0
mov ecx, dword [edi + 0x3fd8]
test ecx, ecx
je 0x409068
mov dword [edi + 0x3fd4], 0
mov dword [edi + 0x3fd0], 0
call fcn.0040a8a0
mov dword [edi + 0x3fd8], 0
mov dword [edi + 0x4004], 0
mov ecx, dword [edi + 0x3fe4]
test ecx, ecx
je 0x40909f
mov dword [edi + 0x3fe0], 0
mov dword [edi + 0x3fdc], 0
call fcn.0040a8a0
mov dword [edi + 0x3fe4], 0
mov ecx, dword [edi + 0x3ff0]
test ecx, ecx
je 0x4090cc
mov dword [edi + 0x3fec], 0
mov dword [edi + 0x3fe8], 0
call fcn.0040a8a0
mov dword [edi + 0x3ff0], 0
lea ecx, [edi + 0x47fc]
mov dword [edi + 0x4ad0], 0
mov dword [edi + 0x400c], 0
mov dword [edi + 0x4008], 0
mov dword [edi + 0x4088], 0
mov dword [edi + 0x4078], 0
mov dword [edi + 0x4014], 0
call fcn.004043f0
mov ecx, dword [edi + 0x4a60]
test ecx, ecx
je 0x409140
mov dword [edi + 0x4a5c], 0
mov dword [edi + 0x4a58], 0
call fcn.0040a8a0
mov dword [edi + 0x4a60], 0
mov ecx, dword [edi + 0x4a6c]
test ecx, ecx
je 0x40916d
mov dword [edi + 0x4a68], 0
mov dword [edi + 0x4a64], 0
call fcn.0040a8a0
mov dword [edi + 0x4a6c], 0
mov ecx, dword [edi + 0x4a78]
test ecx, ecx
je 0x40919a
mov dword [edi + 0x4a74], 0
mov dword [edi + 0x4a70], 0
call fcn.0040a8a0
mov dword [edi + 0x4a78], 0
mov ecx, dword [edi + 0x4aa8]
test ecx, ecx
je 0x4091c7
mov dword [edi + 0x4aa4], 0
mov dword [edi + 0x4aa0], 0
call fcn.0040a8a0
mov dword [edi + 0x4aa8], 0
mov ecx, dword [edi + 0x4ab4]
test ecx, ecx
je 0x4091f4
mov dword [edi + 0x4ab0], 0
mov dword [edi + 0x4aac], 0
call fcn.0040a8a0
mov dword [edi + 0x4ab4], 0
mov ecx, dword [edi + 0x4ac0]
test ecx, ecx
je 0x409221
mov dword [edi + 0x4abc], 0
mov dword [edi + 0x4ab8], 0
call fcn.0040a8a0
mov dword [edi + 0x4ac0], 0
xor ebx, ebx
cmp dword [edi + 0x4ac4], ebx
jle 0x40929a
nop dword [eax + eax]
mov eax, dword [edi + 0x4acc]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x409291
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x409256
mov ecx, eax
call fcn.004041d0
mov ecx, dword [ebp - 0x10]
call fcn.0040a8a0
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x40926f
mov ecx, eax
call fcn.004041d0
mov ecx, dword [ebp - 0x10]
call fcn.0040a8a0
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x40927e
call fcn.0040a8a0
mov ecx, dword [esi + 0x58]
test ecx, ecx
je 0x40928a
call fcn.0040a8a0
mov ecx, esi
call fcn.0040a8a0
inc ebx
cmp ebx, dword [edi + 0x4ac4]
jl 0x409230
mov ecx, dword [edi + 0x4acc]
test ecx, ecx
je 0x4092c7
mov dword [edi + 0x4ac8], 0
mov dword [edi + 0x4ac4], 0
call fcn.0040a8a0
mov dword [edi + 0x4acc], 0
lea ecx, [edi + 0x4dd0]
call fcn.0041eb00
mov ecx, dword [edi + 0x4df8]
test ecx, ecx
je 0x4092ff
mov dword [edi + 0x4df4], 0
mov dword [edi + 0x4df0], 0
call fcn.0040a8a0
mov dword [edi + 0x4df8], 0
mov ecx, dword [edi + 0x4e04]
test ecx, ecx
je 0x40932c
mov dword [edi + 0x4e00], 0
mov dword [edi + 0x4dfc], 0
call fcn.0040a8a0
mov dword [edi + 0x4e04], 0
xor esi, esi
cmp dword [edi + 0x4d70], esi
jle 0x40935f
xor ebx, ebx
nop dword [eax + eax]
mov eax, dword [edi + 0x4d78]
mov ecx, dword [eax + ebx + 0x18]
test ecx, ecx
je 0x409353
call fcn.0040a8a0
inc esi
add ebx, 0x1c
cmp esi, dword [edi + 0x4d70]
jl 0x409340
mov ecx, dword [edi + 0x4d78]
test ecx, ecx
je 0x40938c
mov dword [edi + 0x4d74], 0
mov dword [edi + 0x4d70], 0
call fcn.0040a8a0
mov dword [edi + 0x4d78], 0
lea ecx, [edi + 0x4d94]
call fcn.0041eba0
cmp dword [edi + 0x4d88], 0
mov dword [ebp - 8], 0
jle 0x4093f0
xor ecx, ecx
mov dword [ebp - 4], ecx
nop dword [eax]
mov ebx, dword [edi + 0x4d90]
add ebx, ecx
lea ecx, [ebx + 0x20]
call fcn.00429540
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x4093cc
call fcn.0040a8a0
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x4093d8
call fcn.0040a8a0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc eax
add ecx, 0x78
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
cmp eax, dword [edi + 0x4d88]
jl 0x4093b0
mov ecx, dword [edi + 0x4d90]
test ecx, ecx
je 0x40941d
mov dword [edi + 0x4d8c], 0
mov dword [edi + 0x4d88], 0
call fcn.0040a8a0
mov dword [edi + 0x4d90], 0
mov ecx, dword [edi + 0x4dc8]
test ecx, ecx
je 0x40944a
mov dword [edi + 0x4dc4], 0
mov dword [edi + 0x4dc0], 0
call fcn.0040a8a0
mov dword [edi + 0x4dc8], 0
mov ecx, dword [edi + 0x4e90]
test ecx, ecx
je 0x409477
mov dword [edi + 0x4e8c], 0
mov dword [edi + 0x4e88], 0
call fcn.0040a8a0
mov dword [edi + 0x4e90], 0
mov ecx, dword [edi + 0x4e84]
test ecx, ecx
je 0x4094a4
mov dword [edi + 0x4e80], 0
mov dword [edi + 0x4e7c], 0
call fcn.0040a8a0
mov dword [edi + 0x4e84], 0
xor esi, esi
mov dword [edi + 0x4e98], 0
mov dword [edi + 0x4e94], 0
cmp dword [edi + 0x4e70], esi
jle 0x4094e3
xor ebx, ebx
mov eax, dword [edi + 0x4e78]
mov ecx, dword [eax + ebx + 8]
test ecx, ecx
je 0x4094d7
call fcn.0040a8a0
inc esi
add ebx, 0x60
cmp esi, dword [edi + 0x4e70]
jl 0x4094c4
mov ecx, dword [edi + 0x4e78]
test ecx, ecx
je 0x409510
mov dword [edi + 0x4e74], 0
mov dword [edi + 0x4e70], 0
call fcn.0040a8a0
mov dword [edi + 0x4e78], 0
mov ecx, dword [edi + 0x5e68]
test ecx, ecx
je 0x40953d
mov dword [edi + 0x5e64], 0
mov dword [edi + 0x5e60], 0
call fcn.0040a8a0
mov dword [edi + 0x5e68], 0
mov ecx, dword [edi + 0x5e74]
test ecx, ecx
je 0x40956a
mov dword [edi + 0x5e70], 0
mov dword [edi + 0x5e6c], 0
call fcn.0040a8a0
mov dword [edi + 0x5e74], 0
mov ecx, dword [edi + 0x4edc]
test ecx, ecx
je 0x409597
mov dword [edi + 0x4ed8], 0
mov dword [edi + 0x4ed4], 0
call fcn.0040a8a0
mov dword [edi + 0x4edc], 0
mov ecx, dword [edi + 0x4ee8]
test ecx, ecx
je 0x4095c4
mov dword [edi + 0x4ee4], 0
mov dword [edi + 0x4ee0], 0
call fcn.0040a8a0
mov dword [edi + 0x4ee8], 0
mov ecx, dword [edi + 0x4ef4]
test ecx, ecx
je 0x4095f1
mov dword [edi + 0x4ef0], 0
mov dword [edi + 0x4eec], 0
call fcn.0040a8a0
mov dword [edi + 0x4ef4], 0
mov dword [edi + 0x5d4c], 0
mov ecx, dword [edi + 0x5d58]
test ecx, ecx
je 0x409628
mov dword [edi + 0x5d54], 0
mov dword [edi + 0x5d50], 0
call fcn.0040a8a0
mov dword [edi + 0x5d58], 0
mov ecx, dword [edi + 0x5f20]
test ecx, ecx
je 0x409655
mov dword [edi + 0x5f1c], 0
mov dword [edi + 0x5f18], 0
call fcn.0040a8a0
mov dword [edi + 0x5f20], 0
mov ecx, dword [edi + 0x5f14]
test ecx, ecx
je 0x409682
mov dword [edi + 0x5f10], 0
mov dword [edi + 0x5f0c], 0
call fcn.0040a8a0
mov dword [edi + 0x5f14], 0
cmp dword [edi + 0x5f70], 0
je 0x4096b4
mov esi, dword [edi + 0x5f70]
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
cmp esi, eax
je 0x4096aa
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov dword [edi + 0x5f70], 0
mov ecx, dword [edi + 0x5f7c]
test ecx, ecx
je 0x4096e1
mov dword [edi + 0x5f78], 0
mov dword [edi + 0x5f74], 0
call fcn.0040a8a0
mov dword [edi + 0x5f7c], 0
mov ecx, dword [edi + 0x5fa8]
test ecx, ecx
je 0x40970e
mov dword [edi + 0x5fa4], 0
mov dword [edi + 0x5fa0], 0
call fcn.0040a8a0
mov dword [edi + 0x5fa8], 0
mov ecx, dword [edi + 0x5fb4]
test ecx, ecx
je 0x40973b
mov dword [edi + 0x5fb0], 0
mov dword [edi + 0x5fac], 0
call fcn.0040a8a0
mov dword [edi + 0x5fb4], 0
mov dword [edi + 0x5fb8], 0
mov byte [edi], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret