Function at 0x40bc60
Capabilities:
Write file on windows

Disassembly:
push ebp
mov edx, 1
push edi
push esi
push ebx
sub esp, 4
cmp edx, dword [0x42e280]
mov dword [esp], 1
jg 0x403700
mov esi, dword [0x42e230]
jmp 0x4036a0
mov ecx, dword [esp]
xor edi, edi
xor ebx, ebx
mov edx, dword [0x42ab60]
cmp edi, dword [esi + ecx*4]
mov ebp, dword [edx + ecx*4]
jge 0x4036ee
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [0x42a140]
lea edx, [ebx + ebp]
movzx eax, byte [edx + ecx]
mov edx, dword [eax*4 + 0x42f8d0]
test edx, edx
jle 0x4036e5
lea esi, [edi + ebp]
inc edi
mov byte [esi + ecx], dl
mov esi, dword [0x42e230]
mov ecx, dword [esp]
inc ebx
cmp ebx, dword [esi + ecx*4]
jl 0x4036c0
mov eax, dword [esp]
mov dword [esi + eax*4], edi
inc eax
cmp eax, dword [0x42e280]
mov dword [esp], eax
jle 0x4036a0
pop ebx
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0x1c
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.0040d3e0
call fcn.004109d0
test eax, eax
jne 0x40c2b1
mov edx, dword [0x42eae0]
test edx, edx
jne 0x40c2a0
mov edx, dword [0x429cc0]
test edx, edx
jne 0x40c261
xor ecx, ecx
mov dword [0x42ab70], ecx
mov eax, dword [0x42ab30]
cmp eax, 1
je 0x40c251
test eax, eax
sete dl
movzx ecx, dl
dec ecx
and dword [0x42b490], ecx
mov eax, dword [0x42aba0]
cmp eax, 1
je 0x40c247
test eax, eax
mov ecx, dword [0x42f330]
sete al
movzx edx, al
dec edx
and ecx, edx
mov dword [0x42f330], ecx
mov eax, dword [0x429c20]
test eax, eax
jle 0x40c139
mov edx, dword [0x42dda0]
test edx, edx
jne 0x40c1f3
mov ecx, dword [0x42a0e0]
test ecx, ecx
jne 0x40c1d0
dec eax
jle 0x40bd32
mov ecx, dword [0x42a9a0]
test ecx, ecx
jne 0x40c1a0
mov ecx, dword [0x42b490]
test ecx, ecx
jne 0x40c172
mov ecx, dword [0x42f330]
test ecx, ecx
jne 0x40c144
mov edx, dword [0x429c90]
test edx, edx
jne 0x40c110
mov eax, dword [0x42f330]
test eax, eax
je 0x40bd62
mov ecx, 1
mov dword [0x42ea90], ecx
test edx, edx
je 0x40bd76
mov ecx, 1
mov eax, 1
mov dword [0x42f330], ecx
mov edx, dword [0x42a0f0]
test edx, edx
jne 0x40bd8a
mov ecx, dword [0x429bb0]
test ecx, ecx
je 0x40bdbb
test eax, eax
je 0x40bdc3
mov edx, dword [0x42ea90]
test edx, edx
jne 0x40c100
mov ecx, dword [0x42a0e0]
test ecx, ecx
je 0x40c0f1
mov dword [esp], 0x40b660
call fcn.0040e430
mov eax, dword [0x42f330]
test eax, eax
jne 0x40c0e0
mov eax, dword [0x42ddf0]
test eax, eax
je 0x40c0c3
mov ecx, dword [0x42f8b0]
test ecx, ecx
jne 0x40c0b2
cmp dword [0x429c50], 0x100
je 0x40c0a6
mov dword [esp], 0x40b68e
call fcn.0040ec90
mov edx, dword [0x42bca0]
test edx, edx
jne 0x40c080
mov edx, dword [0x42ab20]
test edx, edx
je 0x40c070
mov dword [esp], 0x40b6a4
call fcn.0040ec90
mov dword [esp], 0x40b6af
call fcn.0040ec90
mov dword [esp], str.FILE_yyin___FILE___0__yyout___FILE___0_
call fcn.0040ec90
mov dword [esp], 0x40b6c3
call fcn.0040ec90
mov dword [esp], str.FILE_yyin__stdin__yyout__stdout_
call fcn.0040ec90
mov dword [esp], 0x40b6c9
call fcn.0040ec90
mov dword [esp], 0x40b6c3
call fcn.0040ec90
mov dword [esp], str.FILE_yyin__stdin__yyout__stdout_
call fcn.0040ec90
mov dword [esp], 0x40b6c9
call fcn.0040ec90
mov ecx, dword [0x429bb0]
test ecx, ecx
jne 0x40c062
mov edx, dword [0x42bca0]
test edx, edx
je 0x40c051
mov ecx, dword [0x42f8b0]
test ecx, ecx
jne 0x40c040
mov eax, dword [0x42dda0]
test eax, eax
jne 0x40c028
mov ecx, dword [0x42a0e0]
test ecx, ecx
je 0x40bfd0
mov edx, dword [0x42bca0]
test edx, edx
je 0x40bfb7
mov dword [esp], 0x40b6d0
call fcn.0040ec90
mov edx, dword [0x42de00]
test edx, edx
jne 0x40bf60
mov edx, dword [0x42a190]
test edx, edx
jne 0x40bf30
mov eax, dword [0x429c50]
mov dword [0x42ddb0], eax
mov eax, dword [eax*4 + 0x42f8d0]
test eax, eax
mov dword [0x42f8d0], eax
js 0x40bf28
mov dword [0x42f790], eax
test edx, edx
jne 0x40bf20
add esp, 0x1c
ret
add esp, 0x1c
jmp 0x403670
neg eax
jmp 0x40bf0f
mov dword [esp + 4], 0x42f8d0
mov edx, dword [0x429c50]
mov dword [esp], 0x42f380
mov dword [esp + 8], edx
call fcn.00403710
mov dword [0x42ddb0], eax
mov edx, dword [0x42a190]
mov eax, dword [0x429c50]
jmp 0x40beff
mov dword [esp], 0x40b6e8
call fcn.0040ec90
mov dword [esp], 0x40b701
call fcn.0040ec90
mov dword [esp], 0x40b720
call fcn.0040ec90
mov dword [esp], 0x40b766
call fcn.0040ec90
mov dword [esp], 0x40b771
call fcn.0040ec90
mov dword [esp], 0x40b780
mov ecx, dword [0x42de00]
mov dword [esp + 4], ecx
call fcn.0040ea60
jmp 0x40beeb
mov dword [esp], 0x40b7a2
call fcn.0040ec90
mov dword [esp], 0x40b7b7
call fcn.0040ec90
nop
mov ecx, dword [0x42bca0]
test ecx, ecx
jne 0x40bed5
mov edx, dword [0x42ac60]
test edx, edx
je 0x40c013
mov dword [esp], 0x40b7c9
call fcn.0040ec90
mov ecx, dword [0x42de00]
test ecx, ecx
je 0x40beeb
mov dword [esp], 0x40b7e0
call fcn.0040e430
jmp 0x40beeb
mov dword [esp], 0x40b811
call fcn.0040ec90
mov dword [esp], 0x40b826
jmp 0x40bfef
mov dword [esp], 0x40b840
call fcn.0040ec90
jmp 0x40beb9
mov dword [esp], 0x40b85b
call fcn.0040ec90
jmp 0x40beac
mov dword [esp], 0x40b86f
call fcn.0040ec90
jmp 0x40be9e
mov dword [esp], 0x40b8a0
jmp 0x40c058
mov dword [esp], str.FILE_yyin___FILE___0__yyout___FILE___0_
jmp 0x40be7d
mov dword [esp], 0x40b826
call fcn.0040ec90
mov ecx, dword [0x42a9a0]
test ecx, ecx
je 0x40be82
mov dword [esp], 0x40b8d5
jmp 0x40be7d
mov dword [esp], 0x40b900
jmp 0x40bdf5
mov dword [esp], 0x40b85b
call fcn.0040ec90
jmp 0x40bdde
mov dword [esp], 0x40b91f
call fcn.0040ec90
mov dword [esp], 0x40b933
call fcn.0040ec90
jmp 0x40bdd0
mov dword [esp], 0x40b94a
call fcn.0040ec90
jmp 0x40bdc3
mov dword [esp], 0x40b980
jmp 0x40bdb1
mov dword [esp], 0x40b9c0
jmp 0x40bdb1
mov dword [esp + 8], 0x43
mov ecx, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x40ba00
add ecx, 0x40
mov dword [esp + 0xc], ecx
call sub.msvcrt.dll_fwrite
mov edx, dword [0x429c90]
jmp 0x40bd4e
mov dword [esp + 8], 0x2b
mov edx, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x40ba60
add edx, 0x40
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_fwrite
jmp 0x40bd40
mov dword [esp + 8], 0x2d
mov edx, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x40baa0
add edx, 0x40
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_fwrite
jmp 0x40bd32
mov dword [esp + 8], 0x35
mov edx, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x40bae0
add edx, 0x40
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_fwrite
jmp 0x40bd24
mov dword [esp + 4], 0x40bb20
mov edx, dword [sym.imp.msvcrt.dll__iob]
add edx, 0x40
mov dword [esp], edx
call sub.msvcrt.dll_fprintf
mov eax, dword [0x429c20]
jmp 0x40bd13
mov dword [esp + 8], 0x45
mov edx, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x40bb60
add edx, 0x40
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_fwrite
mov dword [esp + 8], 0x46
mov ecx, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 1
mov dword [esp], 0x40bbc0
add ecx, 0x40
mov dword [esp + 0xc], ecx
call sub.msvcrt.dll_fwrite
jmp 0x40c1e9
mov ecx, 1
jmp 0x40bce4
mov edx, 1
mov dword [0x42b490], edx
jmp 0x40bcc5
mov dword [esp + 4], 0x408d65
mov ecx, dword [0x42717c]
mov dword [esp], ecx
call sub.msvcrt.dll_fopen
mov dword [0x42ab70], eax
test eax, eax
jne 0x40bca8
mov dword [esp], 0x40bc20
mov edx, dword [0x42717c]
mov dword [esp + 4], edx
call fcn.0040e550
jmp 0x40bca8
mov dword [esp], 1
call fcn.00409de0
jmp 0x40bc92
mov dword [esp], 0x40bc49
call fcn.00412880
mov dword [esp], 1
call fcn.00409de0
jmp 0x40bc84