Function at 0x43b200
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
push edi
push 0x587b20
xor esi, esi
call fcn.00434430
mov ebx, dword [ebp + 8]
mov eax, dword [0x587b4c]
push 0x587b20
lea ecx, [ebx*4]
mov edi, dword [ecx + eax]
mov dword [ebp - 8], ecx
call fcn.00434440
mov eax, dword [edi + 0x58]
add esp, 8
test al, 0x28
je 0x43b443
test eax, 0x10000
jne 0x43b452
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x43b390
test al, 8
je 0x43b298
test al, al
js 0x43b468
push esi
lea eax, [ebp - 4]
push eax
push ebx
push dword [ebp + 0xc]
push dword [edi + 0x60]
call fcn.004fb073
add esp, 4
push eax
call dword [sym.imp.x_WriteFile]
or ecx, 0xffffffff
test eax, eax
cmovne ecx, dword [ebp - 4]
push ecx
call fcn.004f5db0
add esp, 4
mov esi, eax
jmp 0x43b429
test al, 1
je 0x43b35d
cmp dword [edi + 0x3c], esi
je 0x43b306
cmp dword [edi + 0x2c], esi
jne 0x43b306
push 0x587b20
call fcn.00434430
mov eax, dword [0x587b4c]
mov esi, dword [ebp - 8]
push 0x587b20
mov esi, dword [esi + eax]
call fcn.00434440
add esp, 8
cmp dword [esi + 0x2c], 0
jne 0x43b306
cmp dword [0x587b70], 0
jne 0x43b306
lea eax, [ebp - 0x68]
push eax
push dword [ebp + 8]
call fcn.0043ff20
add esp, 8
test eax, eax
jne 0x43b306
mov eax, dword [esi + 0x2c]
test eax, eax
mov ecx, dword [ebp + 8]
cmove ecx, dword [ebp - 0x4c]
jne 0x43b306
mov dword [esi + 0x2c], 1
mov dword [esi + 0x28], ecx
push 0
push ebx
push dword [ebp + 0xc]
push dword [edi + 0x60]
call dword [0x5104d0]
push eax
call fcn.004f5db0
mov esi, eax
add esp, 4
test esi, esi
jns 0x43b42b
call fcn.00440b00
cmp dword [eax], 0x2747
jne 0x43b429
cmp ebx, 0x400
jbe 0x43b429
shr ebx, 1
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0043b200
add esp, 0xc
mov esi, eax
jmp 0x43b429
test al, 4
je 0x43b474
test al, al
js 0x43b37b
push 0
lea eax, [ebp - 4]
push eax
push ebx
push dword [ebp + 0xc]
push dword [edi + 0x60]
jmp 0x43b279
test eax, 0x4000000
je 0x43b399
call fcn.00440b00
mov dword [eax], 0x20
or esi, 0xffffffff
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 0x70]
call fcn.00438c30
add esp, 4
mov esi, ebx
cmp eax, ebx
cmovb esi, eax
test esi, esi
jne 0x43b3c6
call fcn.00440b00
or esi, 0xffffffff
pop edi
mov dword [eax], 0x2733
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push dword [ebp + 0xc]
push dword [edi + 0x70]
call fcn.00438ec0
push dword [edi + 0x70]
call fcn.00438c30
mov ecx, dword [edi + 0x58]
add esp, 0x10
mov edx, eax
neg edx
sbb edx, edx
and ecx, 0xffff7fff
and edx, 0x8000
or edx, ecx
mov dword [edi + 0x58], edx
test eax, eax
je 0x43b404
push edi
call fcn.004408a0
add esp, 4
cmp esi, ebx
je 0x43b413
call fcn.00440b00
mov dword [eax], 0x2733
push edi
call fcn.0043d8c0
add esp, 4
test dword [edi + 0x58], 0x4000000
jne 0x43b38d
test esi, esi
jle 0x43b390
mov eax, esi
cdq
add dword [edi + 0x18], eax
mov eax, esi
adc dword [edi + 0x1c], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x516f6c
push 0x580000
call fcn.0042ae10
push dword [edi + 0x114]
push ebx
push 0x516f8c
push 0x580000
call fcn.0042ae10
push 0x516fb4
push 0x58
call fcn.0042d010
push eax
push 0x516fe8
push 0x580000
call fcn.0042ae10
int3