Function at 0x41d460
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, 0xa
cmp ecx, eax
push ebx
cmovle eax, ecx
add eax, dword [0x7cc940]
mov dword [0x7cc940], eax
push esi
mov esi, edx
mov dword [ebp - 4], esi
push edi
test eax, eax
jle 0x41dc06
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
call fcn.00481f20
test byte [0x6e6b58], 4
jne 0x41d4a2
call fcn.004aa6f0
cmp dword [0x6e0dac], 0
jne 0x41dbfa
call fcn.004a26a0
cmp dword [0x6e0e70], 0
jne 0x41dbee
mov bx, word [0x6e6b58]
test esi, esi
je 0x41d50b
cmp dword [0x748da4], 0
jne 0x41dbc1
mov edx, dword [0x6e0e88]
cmp edx, 0xe18
jge 0x41dbab
mov eax, dword [0x6e0e8c]
mov ecx, dword [eax + edx*4]
mov dword [0x748da4], ecx
cmp ecx, 0xffffffff
je 0x41dbab
inc edx
mov dword [0x6e0e88], edx
jmp 0x41d53d
mov ecx, dword [0x748da4]
test bl, 8
je 0x41d53d
test ecx, ecx
je 0x41d526
mov dword [0x6e0e6c], 0
jmp 0x41d53d
mov eax, dword [0x6e0e6c]
inc eax
mov dword [0x6e0e6c], eax
cmp eax, dword [0x6e6af8]
jg 0x41dbcd
mov dx, word [0x6e84d2]
mov eax, 0x12c
cmp dx, ax
mov eax, dword [0x515474]
jg 0x41d562
cmp dx, 0x3c
jle 0x41d55d
test ecx, ecx
jne 0x41d562
cmp eax, 2
jne 0x41d5c8
test esi, esi
jne 0x41dbe2
cmp dword [0x6e0d80], esi
je 0x41dbee
mov esi, dword [0x6e6af4]
test esi, esi
jne 0x41dbd9
cmp eax, 2
jne 0x41d5be
lea ecx, [esi + 5]
mov dword [0x515474], 1
call fcn.00438210
test eax, eax
jne 0x41dc08
mov bx, word [0x6e6b58]
mov ecx, dword [0x748da4]
mov dx, word [0x6e84d2]
mov eax, dword [0x515474]
jmp 0x41d5c8
mov eax, 2
mov dword [0x515474], eax
test ecx, 0xc00100
jne 0x41d5d8
test eax, eax
jg 0x41d6ea
test dx, dx
jne 0x41d6ea
test byte [0x6e84ec], 4
jne 0x41d6ea
test eax, eax
jle 0x41d635
test bl, 0x10
jne 0x41d626
test ecx, 0x800000
je 0x41d60e
mov dword [0x515474], 0xffffffff
jmp 0x41d6ea
mov eax, ecx
and eax, 0x400000
neg eax
sbb eax, eax
and eax, 0xfffffffe
mov dword [0x515474], eax
jmp 0x41d6ea
mov dword [0x515474], 0
jmp 0x41d6ea
cmp eax, 0xffffffff
jne 0x41d63f
lea ecx, [eax + 5]
jmp 0x41d64c
xor ecx, ecx
cmp eax, 0xfffffffe
mov eax, 3
cmove ecx, eax
call fcn.00438210
mov dword [0x515474], 1
test eax, eax
je 0x41d6dd
cmp dword [0x6e6fdc], 1
jne 0x41dc08
cmp dword [0x6e0d80], 0
je 0x41dbfa
call fcn.0046a350
push dword [0x6e6fe0]
mov ecx, 0x6ef198
call fcn.0049fef0
add esp, 4
call fcn.004adac0
push 0x51026c
push str.data.bin
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x41d6dd
push esi
push 0xa
push 4
push 0x6ef198
call edi
push esi
push 0xa
push 4
push 0x6ef1c0
call edi
push esi
push 1
push 4
push 0x6ef1e8
call edi
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x34
mov dx, word [0x6e84d2]
mov ecx, dword [0x748da4]
test ecx, 0x2000
je 0x41d70d
test dx, dx
jne 0x41d70d
test byte [0x6e84ec], 4
jne 0x41d70d
call fcn.00487920
test eax, eax
jne 0x41dbfa
mov dword [0x6e4600], 0
mov eax, 0x6e4616
nop dword [eax]
mov byte [eax], 0
add eax, 0x12
cmp eax, 0x6e4856
jl 0x41d720
movzx ecx, word [0x6e84b4]
cmp cx, 0xffff
je 0x41d7b0
nop word [eax + eax]
movsx eax, cx
imul edi, eax, 0x84
add edi, dword [0x6e0d88]
movsx eax, word [edi + 0xc]
movzx esi, word [edi + 0x1c]
imul eax, eax, 0x32
mov eax, dword [eax + 0x6e8c38]
test eax, eax
je 0x41d76a
push ecx
call eax
add esp, 4
cmp si, 0xffff
je 0x41d7a7
movzx eax, word [edi + 0xc]
mov ecx, 0x135
cmp ax, cx
je 0x41d788
mov ecx, 0x137
cmp ax, cx
jne 0x41d7a7
movsx eax, si
imul ecx, eax, 0x84
mov eax, dword [0x6e0d88]
test byte [ecx + eax + 0x82], 1
jne 0x41d7a7
movzx esi, word [0x6e0e64]
movzx ecx, si
cmp si, 0xffff
jne 0x41d740
movzx edx, word [0x6e84b0]
cmp dx, 0xffff
je 0x41d7f0
nop dword [eax]
movsx eax, dx
lea ecx, [eax + eax*4]
mov eax, dword [0x6e5d50]
movzx esi, word [eax + ecx*8 + 0x18]
movsx eax, word [eax + ecx*8 + 0x14]
imul eax, eax, 0x32
mov eax, dword [eax + 0x6e8c38]
test eax, eax
je 0x41d7e8
push edx
call eax
add esp, 4
mov edx, esi
cmp si, 0xffff
jne 0x41d7c0
cmp dword [0x6e45fc], 0
je 0x41d908
movzx edx, word [0x6e84b4]
cmp dx, 0xffff
je 0x41d869
nop word [eax + eax]
movsx eax, dx
imul eax, eax, 0x84
add eax, dword [0x6e0d88]
movzx ecx, word [eax + 0xc]
movzx esi, word [eax + 0x1c]
test cx, cx
je 0x41d861
cmp cx, 0xa
je 0x41d861
mov ebx, 0x83
cmp cx, bx
jl 0x41d846
mov ebx, 0x8a
cmp cx, bx
jle 0x41d861
test byte [eax + 0x82], 1
je 0x41d861
mov ecx, 0x4000
test word [eax + 0x28], cx
jne 0x41d861
mov ecx, edx
call fcn.0043e290
mov edx, esi
cmp si, 0xffff
jne 0x41d810
movzx edx, word [0x6e84b0]
cmp dx, 0xffff
je 0x41d8c6
nop word [eax + eax]
movsx eax, dx
lea ecx, [eax + eax*4]
mov eax, dword [0x6e5d50]
movzx edi, word [eax + ecx*8 + 0x14]
lea ecx, [eax + ecx*8]
movzx esi, word [ecx + 0x18]
movsx eax, di
imul eax, eax, 0x32
cmp dword [eax + 0x6e8c38], 0
je 0x41d8be
mov eax, 0x149
cmp di, ax
jne 0x41d8b7
cmp word [ecx + 0x20], 0
jl 0x41d8be
mov ecx, edx
call fcn.0043e880
mov edx, esi
cmp si, 0xffff
jne 0x41d880
mov byte [0x6e5d83], 0
mov byte [0x6e5d91], 0
mov byte [0x6e5d9f], 0
mov byte [0x6e5dad], 0
mov byte [0x6e5dbb], 0
mov byte [0x6e5dc9], 0
mov byte [0x6e5dd7], 0
mov byte [0x6e5de5], 0
mov dword [0x6e45fc], 0
mov eax, dword [0x6e45c0]
test eax, eax
je 0x41d917
dec eax
mov dword [0x6e45c0], eax
mov eax, dword [0x6e45f8]
test eax, eax
je 0x41d926
dec eax
mov dword [0x6e45f8], eax
mov eax, dword [0x6e45c4]
test eax, eax
je 0x41d935
dec eax
mov dword [0x6e45c4], eax
test dword [0x6e84ec], 0x800
mov esi, dword [0x6e85a4]
mov ebx, dword [0x6e45b8]
je 0x41d965
test bl, 0x7f
jne 0x41d965
mov ecx, esi
call fcn.00411840
mov eax, 0xf7ff
and word [0x6e84ec], ax
mov ax, word [0x6e84e8]
cmp ax, 0x10
jl 0x41d996
test bl, bl
jne 0x41d996
mov ecx, 0x100
cmp ax, cx
jle 0x41d987
mov eax, ecx
mov word [0x6e84e8], ax
sar ax, 4
sub word [esi + 0x22], ax
mov byte [0x54d167], 0x10
xor eax, eax
cmp eax, 0xf
jae 0x41dc0f
mov byte [eax + 0x6e0f68], 0
inc eax
cmp eax, 0xf
jl 0x41d99b
xor eax, eax
xor ecx, ecx
mov word [esi + 0x34], ax
call fcn.00450320
xor ecx, ecx
call fcn.00433fa0
mov ax, word [0x6e84ea]
test ax, ax
je 0x41dabd
cmp ax, 0xc
jge 0x41da27
imul edx, dword [0x517424], 0x41c64e6d
mov ebx, 0x20
movsx ecx, ax
sub ebx, ecx
add edx, 0x3039
lea eax, [ecx + ecx]
imul esi, edx, 0x41c64e6d
sar edx, 7
and edx, 0x38
add esi, 0x3039
mov edi, esi
sar edi, 0xa
and edi, 1
sub edi, eax
mov eax, 0x10
sub eax, ecx
add edi, 0x19
shl ebx, 3
mov ecx, 0xff
lea eax, [edx + eax*8]
jmp 0x41da70
imul eax, dword [0x517424], 0x41c64e6d
add eax, 0x3039
mov ebx, eax
imul eax, eax, 0x41c64e6d
sar ebx, 0xa
and ebx, 0x3f
add ebx, 0x40
add eax, 0x3039
imul esi, eax, 0x41c64e6d
mov ecx, eax
sar ecx, 0xa
and ecx, 0x3f
sub ecx, 0xffffff80
add esi, 0x3039
mov edi, esi
sar edi, 0xa
and edi, 3
add edi, 8
xor eax, eax
mov edx, dword [0x6e85a4]
push ecx
mov ecx, dword [edx + 0x40]
push ebx
push eax
push edi
push dword [edx + 0x48]
mov dword [0x517424], esi
lea esi, [edx + 0x40]
mov edx, dword [edx + 0x44]
call fcn.00425950
add esp, 0x14
mov edx, esi
mov ecx, 0x7f
push 0
call fcn.00471b80
mov edx, dword [0x6e85a4]
add esp, 4
mov ecx, 0x80
push 0
lea edx, [edx + 0x40]
call fcn.00471b80
add esp, 4
call fcn.00416740
mov eax, dword [0x6e45b8]
add eax, 4
and eax, 0xfc
cmp byte [0x54d16e], 0
mov dword [0x6e45b8], eax
je 0x41dae2
call fcn.0042c020
call fcn.00429700
call fcn.0042ba40
call fcn.0042be80
xor esi, esi
cmp dword [0x6e5d74], esi
jle 0x41db39
xor edi, edi
nop dword [eax]
mov edx, dword [0x6e5d78]
add edx, edi
cmp dword [0x6e0da4], 0
movzx eax, word [edx + 0xe]
je 0x41db1b
test al, 0x40
je 0x41db2d
jmp 0x41db1f
test al, al
jns 0x41db2d
movsx ecx, word [edx + 0xc]
push 0
call fcn.00471b80
add esp, 4
inc esi
add edi, 0x10
cmp esi, dword [0x6e5d74]
jl 0x41db00
mov eax, dword [0x51546c]
cmp eax, 0xffffffff
je 0x41db51
mov eax, dword [eax*4 + 0x4c1640]
push 0
call eax
add esp, 4
call fcn.00471900
dec dword [0x6e6fa0]
cmp dword [0x6e0d80], 0
jne 0x41db6e
cmp dword [0x6e5d5c], 0
je 0x41db74
inc dword [0x6ef6e7]
mov eax, dword [0x6e5d58]
test eax, eax
je 0x41db83
dec eax
mov dword [0x6e5d58], eax
mov eax, dword [0x6e5d54]
test eax, eax
je 0x41db92
dec eax
mov dword [0x6e5d54], eax
mov eax, dword [0x7cc940]
sub eax, 2
mov dword [0x7cc940], eax
test eax, eax
jle 0x41dc06
mov esi, dword [ebp - 4]
jmp 0x41d489
mov eax, dword [0x6e6b00]
mov dword [0x748da4], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6e6afc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x400
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6e6af0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004b56ab
int3