Function at 0x41f067
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
push esi
mov dword [ebp - 0x140], ecx
mov byte [ebp - 0x14], 1
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 8]
call fcn.00420cb0
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x41f09f
xor al, al
jmp 0x41fdb1
mov ecx, dword [ebp - 0xac]
shl ecx, 4
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.004d333d
add esp, 4
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x41f0d9
xor al, al
jmp 0x41fdb1
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb0], 0
mov edx, dword [ebp - 0x14]
and edx, 0xff
test edx, edx
je 0x41fbc5
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax]
xor edx, edx
mov dl, byte [ecx]
test edx, edx
je 0x41f128
mov byte [ebp - 0x14], 1
jmp 0x41fbc5
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
cmp dword [ebp - 0xc8], 0
jne 0x41f14a
jmp 0x41fbc5
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov cl, byte [eax + 8]
test ecx, ecx
jne 0x41f162
mov byte [ebp - 0x14], 0
jmp 0x41fbc5
mov edx, dword [ebp - 0xc8]
xor eax, eax
mov ax, word [edx + 4]
mov ecx, dword [ebp - 0xc8]
add ecx, eax
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xc8]
add edx, 0x10
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xbc]
add eax, 0x30
cmp eax, dword [ebp - 0xd0]
jbe 0x41f1a5
mov byte [ebp - 0x14], 0
jmp 0x41fbc5
mov ecx, dword [ebp - 0xbc]
xor edx, edx
mov dx, word [ecx + 0x10]
test edx, edx
jne 0x41f1be
mov byte [ebp - 0x14], 0
jmp 0x41fbc5
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov cx, word [eax + 0x10]
mov edx, dword [ebp - 0xc8]
add edx, ecx
mov dword [ebp - 0xcc], edx
mov byte [ebp - 0xc0], 1
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x14]
and eax, 0xff
test eax, eax
je 0x41fbc0
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx]
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x41f20c
mov byte [ebp - 0x14], 1
jmp 0x41fbc0
mov ecx, dword [ebp - 0xc0]
and ecx, 0xff
test ecx, ecx
je 0x41f4ec
mov byte [ebp - 0xc0], 0
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jb 0x41f23e
mov byte [ebp - 0x14], 0
jmp 0x41fbc0
mov eax, dword [ebp - 0xcc]
mov cl, byte [eax]
mov byte [ebp - 0xc4], cl
mov edx, dword [ebp - 0xc4]
and edx, 0xff
test edx, edx
jne 0x41f261
jmp 0x41fbc0
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0xc4]
and ecx, 0xff
and ecx, 0xf
mov byte [ebp - 0xd8], cl
mov edx, dword [ebp - 0xd8]
and edx, 0xff
mov eax, dword [ebp - 0xcc]
add eax, edx
cmp eax, dword [ebp - 0xd0]
jbe 0x41f2be
mov byte [ebp - 0x14], 0
jmp 0x41fbc0
mov ecx, dword [ebp - 0xd8]
and ecx, 0xff
mov dword [ebp - 0x144], ecx
cmp dword [ebp - 0x144], 4
ja case.default.0x41f2e3
mov edx, dword [ebp - 0x144]
jmp dword [edx*4 + 0x41fdb8]
mov dword [ebp - 0xd4], 0
jmp 0x41f370
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov cl, byte [eax]
mov dword [ebp - 0xd4], ecx
jmp 0x41f370
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0xcc]
xor edx, edx
mov dl, byte [ecx]
add eax, edx
mov dword [ebp - 0xd4], eax
jmp 0x41f370
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov cl, byte [eax + 2]
shl ecx, 0x10
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 1]
shl eax, 8
add ecx, eax
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx]
add ecx, eax
mov dword [ebp - 0xd4], ecx
jmp 0x41f370
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov dword [ebp - 0xd4], edx
jmp 0x41f370
mov byte [ebp - 0x14], 0
mov eax, dword [ebp - 0xd8]
and eax, 0xff
mov ecx, dword [ebp - 0xcc]
add ecx, eax
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xc4]
and edx, 0xff
sar edx, 4
and edx, 0xf
mov byte [ebp - 0xd8], dl
mov eax, dword [ebp - 0xd8]
and eax, 0xff
mov ecx, dword [ebp - 0xcc]
add ecx, eax
cmp ecx, dword [ebp - 0xd0]
jbe 0x41f3c5
mov byte [ebp - 0x14], 0
jmp 0x41fbc0
mov edx, dword [ebp - 0xd8]
and edx, 0xff
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 4
ja case.default.0x41f3ea
mov eax, dword [ebp - 0x148]
jmp dword [eax*4 + 0x41fdcc]
mov dword [ebp - 0xdc], 0
jmp 0x41f4a5
mov ecx, dword [ebp - 0xcc]
movsx edx, byte [ecx]
mov dword [ebp - 0xdc], edx
jmp 0x41f4a5
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov cl, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx]
add ecx, eax
movsx ecx, cx
mov dword [ebp - 0xdc], ecx
jmp 0x41f4a5
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx + 2]
shl eax, 0x10
mov ecx, dword [ebp - 0xcc]
xor edx, edx
mov dl, byte [ecx + 1]
shl edx, 8
add eax, edx
mov ecx, dword [ebp - 0xcc]
xor edx, edx
mov dl, byte [ecx]
add eax, edx
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov cl, byte [eax + 2]
cmp ecx, 0x7f
jle 0x41f48f
mov edx, 0xffffff
sub edx, dword [ebp - 0xdc]
add edx, 1
neg edx
mov dword [ebp - 0xdc], edx
jmp 0x41f4a5
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov dword [ebp - 0xdc], ecx
jmp 0x41f4a5
mov byte [ebp - 0x14], 0
mov edx, dword [ebp - 0xd8]
and edx, 0xff
mov eax, dword [ebp - 0xcc]
add eax, edx
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0x10]
and edx, 0x8000000f
jns 0x41f4fc
dec edx
or edx, 0xfffffff0
inc edx
mov eax, 0x10
sub eax, edx
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x10
jne 0x41f51e
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 8]
jb 0x41fb3f
cmp dword [ebp - 0x20], 0
je 0x41f9da
cmp dword [ebp - 0xa8], 0
je 0x41f797
mov dword [ebp - 0xe8], 0
cmp dword [ebp - 4], 0x10
jge 0x41f597
mov ecx, dword [ebp - 0xe8]
cmp ecx, dword [ebp - 8]
jge 0x41f597
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0xe8]
cdq
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0xa0], eax
mov dword [ebp + ecx*8 - 0x9c], edx
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
jmp 0x41f54e
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], 0
jmp 0x41f5be
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 4]
jge 0x41f654
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0xec]
push edx
push 0
push 0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp + eax*8 - 0x9c]
push ecx
mov edx, dword [ebp + eax*8 - 0xa0]
push edx
push 0
push 0
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
mov ecx, dword [ebp - 0x140]
call fcn.0041a5b7
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xec]
push edx
call fcn.0040b6a0
add esp, 4
and eax, 0xff
test eax, eax
je 0x41f63d
mov byte [ebp - 0x14], 0
jmp 0x41f654
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xe4], eax
jmp 0x41f5af
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
test ecx, ecx
je 0x41f74b
mov edx, dword [ebp - 0xe4]
sub edx, dword [ebp - 0xb4]
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
sub ecx, dword [eax]
mov edx, dword [ebp + 0x18]
sbb edx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
xor esi, esi
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], esi
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x154]
jg 0x41f6d7
jl 0x41f6c3
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x158]
jae 0x41f6d7
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
sub ecx, dword [eax]
mov edx, dword [ebp + 0x18]
sbb edx, dword [eax + 4]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], 0
push 0
lea eax, [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0xf8]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41f714
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [ebp - 0xf4]
je 0x41f72f
cmp dword [ebp + 0x10], 0
je 0x41f729
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00471f57
mov byte [ebp - 0x14], 0
jmp 0x41f74b
mov edx, dword [ebp - 0xf4]
xor eax, eax
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ecx]
add esi, edx
mov edx, dword [ecx + 4]
adc edx, eax
mov eax, dword [ebp + 0x1c]
mov dword [eax], esi
mov dword [eax + 4], edx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
cmp ecx, 0x64
jle 0x41f792
mov dword [ebp - 0xb0], 0
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x24]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.004aa560
push eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 8]
call fcn.004214f0
jmp 0x41f9d5
cmp dword [ebp - 4], 0
jle 0x41f9ce
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x100], 0
jmp 0x41f7c8
mov edx, dword [ebp - 0x100]
add edx, 1
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0x100], 0x10
jge 0x41f898
mov eax, dword [ebp - 0xfc]
sub eax, dword [ebp - 0xb4]
cdq
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ecx]
add esi, eax
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x15c]
cmp ecx, dword [ebp + 0x18]
jl 0x41f817
jg 0x41f812
mov edx, dword [ebp - 0x160]
cmp edx, dword [ebp + 0x14]
jb 0x41f817
jmp 0x41f898
mov dword [ebp - 0x104], 0
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0xa0]
push eax
push 0
push 0
push 1
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041a5b7
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x104]
push ecx
call fcn.0040b6a0
add esp, 4
and eax, 0xff
test eax, eax
je 0x41f881
mov byte [ebp - 0x14], 0
jmp 0x41f898
mov edx, dword [ebp - 0xfc]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0xfc], edx
jmp 0x41f7b9
mov eax, dword [ebp - 0x14]
and eax, 0xff
test eax, eax
je 0x41f98e
mov ecx, dword [ebp - 0xfc]
sub ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
sub eax, dword [edx]
mov ecx, dword [ebp + 0x18]
sbb ecx, dword [edx + 4]
mov edx, dword [ebp - 0x110]
xor esi, esi
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x170], edx
mov dword [ebp - 0x16c], esi
mov eax, dword [ebp - 0x164]
cmp eax, dword [ebp - 0x16c]
jg 0x41f91a
jl 0x41f906
mov ecx, dword [ebp - 0x168]
cmp ecx, dword [ebp - 0x170]
jae 0x41f91a
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
sub eax, dword [edx]
mov ecx, dword [ebp + 0x18]
sbb ecx, dword [edx + 4]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], 0
push 0
lea edx, [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41f957
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x10c]
je 0x41f972
cmp dword [ebp + 0x10], 0
je 0x41f96c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00471f57
mov byte [ebp - 0x14], 0
jmp 0x41f98e
mov ecx, dword [ebp - 0x10c]
xor edx, edx
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax]
add esi, ecx
mov ecx, dword [eax + 4]
adc ecx, edx
mov edx, dword [ebp + 0x1c]
mov dword [edx], esi
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov dword [ebp - 0xb0], ecx
cmp eax, 0x64
jle 0x41f9ce
mov dword [ebp - 0xb0], 0
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x24]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.004aa560
push eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 8]
call fcn.004214f0
mov dword [ebp - 4], 0
jmp 0x41fb16
mov ecx, dword [ebp - 0x18]
push ecx
push 0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.004a9230
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x14]
sub edx, dword [ecx]
mov eax, dword [ebp + 0x18]
sbb eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x118]
xor esi, esi
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], esi
mov edx, dword [ebp - 0x174]
cmp edx, dword [ebp - 0x17c]
jg 0x41fa58
jl 0x41fa44
mov eax, dword [ebp - 0x178]
cmp eax, dword [ebp - 0x180]
jae 0x41fa58
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x14]
sub edx, dword [ecx]
mov eax, dword [ebp + 0x18]
sbb eax, dword [ecx + 4]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], 0
push 0
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x118]
push edx
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41fa95
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x114]
je 0x41fab3
cmp dword [ebp + 0x10], 0
je 0x41faaa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00471f57
mov byte [ebp - 0x14], 0
jmp 0x41fbc0
mov eax, dword [ebp - 0x114]
xor ecx, ecx
mov edx, dword [ebp + 0x1c]
mov esi, dword [edx]
add esi, eax
mov eax, dword [edx + 4]
adc eax, ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
cmp edx, 0x64
jle 0x41fb16
mov dword [ebp - 0xb0], 0
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x24]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.004aa560
push eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 8]
call fcn.004214f0
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 8]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 8]
mov dword [ebp - 0xa4], eax
jmp 0x41fbab
mov dword [ebp - 0x11c], 0
cmp dword [ebp - 4], 0x10
jge 0x41fb95
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0xa4]
jae 0x41fb95
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0x11c]
cdq
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*8 - 0xa0], eax
mov dword [ebp + ecx*8 - 0x9c], edx
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
jmp 0x41fb49
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xa4], 0
cmp dword [ebp - 0xa4], 0
jne 0x41fbbb
mov byte [ebp - 0xc0], 1
jmp 0x41f1e6
jmp 0x41f101
mov edx, dword [ebp - 0x14]
and edx, 0xff
test edx, edx
je 0x41fd89
cmp dword [ebp - 4], 0
jle 0x41fd89
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], 0
jmp 0x41fc07
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
cmp edx, dword [ebp - 4]
jge 0x41fc9d
mov dword [ebp - 0x128], 0
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x128]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp + edx*8 - 0x9c]
push eax
mov ecx, dword [ebp + edx*8 - 0xa0]
push ecx
push 0
push 0
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x140]
call fcn.0041a5b7
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.0040b6a0
add esp, 4
and eax, 0xff
test eax, eax
je 0x41fc86
mov byte [ebp - 0x14], 0
jmp 0x41fc9d
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0x124], edx
jmp 0x41fbf8
mov eax, dword [ebp - 0x14]
and eax, 0xff
test eax, eax
je 0x41fd89
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
sub eax, dword [edx]
mov ecx, dword [ebp + 0x18]
sbb ecx, dword [edx + 4]
mov edx, dword [ebp - 0x134]
xor esi, esi
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x18c], esi
mov eax, dword [ebp - 0x184]
cmp eax, dword [ebp - 0x18c]
jg 0x41fd1f
jl 0x41fd0b
mov ecx, dword [ebp - 0x188]
cmp ecx, dword [ebp - 0x190]
jae 0x41fd1f
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
sub eax, dword [edx]
mov ecx, dword [ebp + 0x18]
sbb ecx, dword [edx + 4]
mov dword [ebp - 0x134], eax
push 0
lea edx, [ebp - 0x130]
push edx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41fd52
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x130]
je 0x41fd6d
cmp dword [ebp + 0x10], 0
je 0x41fd67
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00471f57
mov byte [ebp - 0x14], 0
jmp 0x41fd89
mov ecx, dword [ebp - 0x130]
xor edx, edx
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax]
add esi, ecx
mov ecx, dword [eax + 4]
adc ecx, edx
mov edx, dword [ebp + 0x1c]
mov dword [edx], esi
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x13c]
push ecx
call fcn.004d3366
add esp, 4
mov dword [ebp - 0xb4], 0
mov al, byte [ebp - 0x14]
pop esi
mov esp, ebp
pop ebp
ret 0x20