Function at 0x402a10
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa00
mov eax, dword [str._s_bin]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
cmp dword [ebp + 0xc], 0x3ea
jne 0x402b50
push 0x20
lea eax, [ebp - 0x134]
push eax
call fcn.00401c20
add esp, 8
mov ecx, dword [0x415b28]
mov dword [ebp - 0x134], ecx
lea edx, [ebp - 0x110]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], 0x411ca4
mov dword [ebp - 0x124], 0x21
lea eax, [ebp - 0x134]
push eax
call dword [0x410160]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x402b4b
lea ecx, [ebp - 0x110]
push ecx
mov edx, dword [ebp - 0x114]
push edx
call dword [0x41015c]
lea eax, [ebp - 0x110]
push eax
push 0x3e9
mov ecx, dword [ebp + 8]
push ecx
call dword [0x410168]
lea edx, [ebp - 0x138]
push edx
call dword [0x410158]
test eax, eax
jl 0x402af9
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x138]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [edx + 0x14]
call ecx
mov edx, dword [ebp - 0x138]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [eax + 8]
call edx
call fcn.00402600
test eax, eax
je 0x402b37
call fcn.00402710
test eax, eax
je 0x402b21
push 0x411cb4
push 0x3ec
mov eax, dword [ebp + 8]
push eax
call dword [0x410168]
jmp 0x402b35
push 0x411cc4
push 0x3ec
mov ecx, dword [ebp + 8]
push ecx
call dword [0x410168]
jmp 0x402b4b
push 0x411cd4
push 0x3ec
mov edx, dword [ebp + 8]
push edx
call dword [0x410168]
jmp 0x40334f
cmp dword [ebp + 0xc], 0x3eb
jne 0x4031b3
call fcn.00402600
test eax, eax
jne 0x402b81
push 0x10
push 0x411ce4
push 0x411cec
mov eax, dword [ebp + 8]
push eax
call dword [0x41019c]
jmp 0x40334f
call fcn.00402710
test eax, eax
jne 0x403146
push 3
push 0x411cfc
push 0x411d08
mov ecx, dword [ebp + 8]
push ecx
call dword [0x41019c]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 2
jne 0x402bb8
jmp 0x40334f
cmp dword [ebp - 0x24c], 6
jne 0x402d64
push 0x104
lea edx, [ebp - 0x570]
push edx
push 0x3e9
mov eax, dword [0x415b28]
push eax
call dword [0x410170]
lea ecx, [ebp - 0x570]
add ecx, 0xffffffff
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x98c]
mov al, byte [edx + 1]
mov byte [ebp - 0x98d], al
add dword [ebp - 0x98c], 1
cmp byte [ebp - 0x98d], 0
jne 0x402bf1
mov edi, dword [ebp - 0x98c]
mov ecx, dword [0x411d74]
mov dword [edi], ecx
mov dl, byte [0x411d78]
mov byte [edi + 4], dl
push 0x104
lea eax, [ebp - 0x678]
push eax
push 0x3e9
mov ecx, dword [0x415b28]
push ecx
call dword [0x410170]
lea edx, [ebp - 0x678]
add edx, 0xffffffff
mov dword [ebp - 0x994], edx
mov eax, dword [ebp - 0x994]
mov cl, byte [eax + 1]
mov byte [ebp - 0x995], cl
add dword [ebp - 0x994], 1
cmp byte [ebp - 0x995], 0
jne 0x402c54
mov edi, dword [ebp - 0x994]
mov edx, dword [0x411d7c]
mov dword [edi], edx
mov al, byte [str.R6018_r_n__unexpected_heap_error_r_n]
mov byte [edi + 4], al
lea ecx, [ebp - 0x678]
mov dword [ebp - 0x99c], ecx
mov dword [ebp - 0x9a0], 0x415c60
mov edx, dword [ebp - 0x9a0]
mov dword [ebp - 0x9a4], edx
mov eax, dword [ebp - 0x99c]
mov cl, byte [eax]
mov byte [ebp - 0x9a5], cl
mov edx, dword [ebp - 0x9a0]
mov al, byte [ebp - 0x9a5]
mov byte [edx], al
mov ecx, dword [ebp - 0x99c]
add ecx, 1
mov dword [ebp - 0x99c], ecx
mov edx, dword [ebp - 0x9a0]
add edx, 1
mov dword [ebp - 0x9a0], edx
cmp byte [ebp - 0x9a5], 0
jne 0x402cab
lea eax, [ebp - 0x570]
mov dword [ebp - 0x9ac], eax
mov dword [ebp - 0x9b0], 0x415b58
mov ecx, dword [ebp - 0x9b0]
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x9ac]
mov al, byte [edx]
mov byte [ebp - 0x9b5], al
mov ecx, dword [ebp - 0x9b0]
mov dl, byte [ebp - 0x9b5]
mov byte [ecx], dl
mov eax, dword [ebp - 0x9ac]
add eax, 1
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x9b0]
add ecx, 1
mov dword [ebp - 0x9b0], ecx
cmp byte [ebp - 0x9b5], 0
jne 0x402d10
push 1
push 0
push 0x401d60
call fcn.00402920
add esp, 0xc
push 0x104
lea edx, [ebp - 0x240]
push edx
push 0x3e9
mov eax, dword [0x415b28]
push eax
call dword [0x410170]
cmp dword [ebp - 0x24c], 6
jne 0x402dcf
lea ecx, [ebp - 0x240]
add ecx, 0xffffffff
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
mov al, byte [edx + 1]
mov byte [ebp - 0x9bd], al
add dword [ebp - 0x9bc], 1
cmp byte [ebp - 0x9bd], 0
jne 0x402d99
mov edi, dword [ebp - 0x9bc]
mov ecx, dword [0x411d84]
mov dword [edi], ecx
mov dl, byte [0x411d88]
mov byte [edi + 4], dl
lea eax, [ebp - 0x240]
add eax, 0xffffffff
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9c4]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x9c5], dl
add dword [ebp - 0x9c4], 1
cmp byte [ebp - 0x9c5], 0
jne 0x402dde
mov edi, dword [ebp - 0x9c4]
mov ecx, 8
mov esi, 0x411d8c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x40
push 0x1000
push 0x100000
push 0
call dword [0x410034]
mov dword [ebp - 0x460], eax
push 0x100000
push 0
mov eax, dword [ebp - 0x460]
push eax
call fcn.004082d0
add esp, 0xc
mov ecx, dword [ebp - 0x460]
push ecx
push 0x411db0
call fcn.00402340
add esp, 8
push 0x411de0
mov edx, dword [ebp - 0x460]
push edx
call fcn.00401c00
add esp, 8
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x248], 0
push 0x411de8
lea eax, [ebp - 0x240]
push eax
call fcn.0040459b
add esp, 8
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
je 0x402f2c
push 0
push 0
mov ecx, dword [ebp - 0x248]
push ecx
call fcn.00404d5b
add esp, 0xc
mov edx, dword [ebp - 0x464]
mov dword [ebp - 0x9cc], edx
mov eax, dword [ebp - 0x9cc]
add eax, 1
mov dword [ebp - 0x9d0], eax
mov ecx, dword [ebp - 0x9cc]
mov dl, byte [ecx]
mov byte [ebp - 0x9d1], dl
add dword [ebp - 0x9cc], 1
cmp byte [ebp - 0x9d1], 0
jne 0x402ece
mov eax, dword [ebp - 0x9cc]
sub eax, dword [ebp - 0x9d0]
mov dword [ebp - 0x9d8], eax
mov ecx, dword [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x9d8]
push edx
push 1
mov eax, dword [ebp - 0x464]
push eax
call fcn.00404a44
add esp, 0x10
mov ecx, dword [ebp - 0x248]
push ecx
call fcn.00404e57
add esp, 4
push 0x8000
push 0
mov edx, dword [ebp - 0x460]
push edx
call dword [0x410014]
push 0
call dword [0x4101c0]
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 0
jne 0x40312e
lea eax, [ebp - 0x250]
push eax
push 0x410208
push 1
push 0
push 0x410218
call dword [0x4101c4]
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 0
jne 0x403128
lea ecx, [ebp - 0x244]
push ecx
push 0x410228
mov edx, dword [ebp - 0x250]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x250]
push ecx
mov edx, dword [eax]
call edx
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 0
jne 0x403128
push 0x104
lea eax, [ebp - 0x240]
push eax
push 0x3e9
mov ecx, dword [0x415b28]
push ecx
call dword [0x410170]
cmp dword [ebp - 0x24c], 6
jne 0x403026
lea edx, [ebp - 0x240]
add edx, 0xffffffff
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x9dc]
mov cl, byte [eax + 1]
mov byte [ebp - 0x9dd], cl
add dword [ebp - 0x9dc], 1
cmp byte [ebp - 0x9dd], 0
jne 0x402ff1
mov edi, dword [ebp - 0x9dc]
mov edx, dword [0x411dec]
mov dword [edi], edx
mov al, byte [0x411df0]
mov byte [edi + 4], al
lea ecx, [ebp - 0x240]
add ecx, 0xffffffff
mov dword [ebp - 0x9e4], ecx
mov edx, dword [ebp - 0x9e4]
mov al, byte [edx + 1]
mov byte [ebp - 0x9e5], al
add dword [ebp - 0x9e4], 1
cmp byte [ebp - 0x9e5], 0
jne 0x403035
mov edi, dword [ebp - 0x9e4]
mov ecx, dword [0x411df4]
mov dword [edi], ecx
mov dl, byte [0x411df8]
mov byte [edi + 4], dl
lea eax, [ebp - 0x240]
push eax
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x250]
push eax
mov ecx, dword [edx + 0x24]
call ecx
lea edx, [ebp - 0x240]
add edx, 0xffffffff
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x9ec]
mov cl, byte [eax + 1]
mov byte [ebp - 0x9ed], cl
add dword [ebp - 0x9ec], 1
cmp byte [ebp - 0x9ed], 0
jne 0x403095
mov edi, dword [ebp - 0x9ec]
mov edx, dword [0x411dfc]
mov dword [edi], edx
mov eax, dword [str._r_nThis_application_has_requested_the_Runtime_to_terminate_it_in_an_unusual_way._nPlease_contact_the_applications_support_team_for_more_information._r_n]
mov dword [edi + 4], eax
mov ecx, dword [0x411e04]
mov dword [edi + 8], ecx
lea edx, [ebp - 0x240]
push edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x250]
push edx
mov eax, dword [ecx + 0x50]
call eax
push 0x104
lea ecx, [ebp - 0x458]
push ecx
push 0xffffffffffffffff
push 0x411e08
push 0
push 0
call dword [0x410028]
push 1
lea edx, [ebp - 0x458]
push edx
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x244]
push edx
mov eax, dword [ecx + 0x18]
call eax
call dword [0x4101bc]
push 0
push 0x411e44
push 0x411e4c
mov ecx, dword [ebp + 8]
push ecx
call dword [0x41019c]
jmp 0x40315c
push 0
push 0x411e58
push 0x411e60
mov edx, dword [ebp + 8]
push edx
call dword [0x41019c]
call fcn.00402600
test eax, eax
je 0x40319a
call fcn.00402710
test eax, eax
je 0x403184
push 0x411e78
push 0x3ec
mov eax, dword [ebp + 8]
push eax
call dword [0x410168]
jmp 0x403198
push 0x411e88
push 0x3ec
mov ecx, dword [ebp + 8]
push ecx
call dword [0x410168]
jmp 0x4031ae
push str.R6009_r_n__not_enough_space_for_environment_r_n
push 0x3ec
mov edx, dword [ebp + 8]
push edx
call dword [0x410168]
jmp 0x40334f
cmp dword [ebp + 0xc], 0x3ee
jne 0x4032b9
lea eax, [ebp - 0x780]
push eax
push 0x104
call dword [0x41004c]
call dword [0x410010]
push eax
lea ecx, [ebp - 0x780]
push ecx
push 0x411ea8
lea edx, [ebp - 0x880]
push edx
call fcn.00403ee6
add esp, 0x10
lea eax, [ebp - 0x880]
push eax
push 0x411eb4
push 0x67
mov ecx, dword [0x415b50]
push ecx
call fcn.00402440
add esp, 0x10
push 1
push 0
push 0
lea edx, [ebp - 0x880]
push edx
push 0x411eb8
push 0
call dword [0x410150]
push 0x104
lea eax, [ebp - 0x780]
push eax
call dword [0x410024]
lea ecx, [ebp - 0x780]
add ecx, 0xffffffff
mov dword [ebp - 0x9f4], ecx
mov edx, dword [ebp - 0x9f4]
mov al, byte [edx + 1]
mov byte [ebp - 0x9f5], al
add dword [ebp - 0x9f4], 1
cmp byte [ebp - 0x9f5], 0
jne 0x40324c
mov edi, dword [ebp - 0x9f4]
mov ecx, dword [0x411ec0]
mov dword [edi], ecx
mov edx, dword [str.R6008_r_n__not_enough_space_for_arguments_r_n]
mov dword [edi + 4], edx
mov ax, word [0x411ec8]
mov word [edi + 8], ax
lea ecx, [ebp - 0x780]
push ecx
push 0x411ecc
push 0x411ed0
push 0x411ed4
call dword [0x410040]
push 1
mov edx, dword [ebp + 8]
push edx
call dword [0x4101ac]
jmp 0x40334f
cmp dword [ebp + 0xc], 0x3ef
jne 0x40334f
push 0x104
lea eax, [ebp - 0x988]
push eax
call dword [0x410024]
lea ecx, [ebp - 0x988]
add ecx, 0xffffffff
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9fc]
mov al, byte [edx + 1]
mov byte [ebp - 0x9fd], al
add dword [ebp - 0x9fc], 1
cmp byte [ebp - 0x9fd], 0
jne 0x4032e7
mov edi, dword [ebp - 0x9fc]
mov ecx, dword [0x411ee0]
mov dword [edi], ecx
mov edx, dword [0x411ee4]
mov dword [edi + 4], edx
mov ax, word [0x411ee8]
mov word [edi + 8], ax
lea ecx, [ebp - 0x988]
push ecx
push 0x411eec
push str.R6002_r_n__floating_point_support_not_loaded_r_n
push 0x411ef4
call dword [0x410040]
push 1
mov edx, dword [ebp + 8]
push edx
call dword [0x4101ac]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403ed7
mov esp, ebp
in eax, 0x5d