Function at 0x43d0e0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x43d2b0
mov esi, 0x4703a0
cmp edx, 0x20
je 0x43d12e
mov esi, str.0000000000000000
cmp edx, 0x30
je 0x43d12e
lea eax, [esp + 0x30]
lea ecx, [esp + 0x50]
mov esi, esi
lea edi, [edi]
mov word [eax], dx
add eax, 2
cmp eax, ecx
jne 0x43d120
lea esi, [esp + 0x30]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x10], 0
cmp ebp, 0xf
jle 0x43d191
nop
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x43d1d0
mov edi, dword [esp + 0x74]
mov eax, dword [ebx]
test edi, edi
je 0x43d1a5
xor edi, edi
jmp 0x43d162
mov eax, dword [ebx]
mov dword [esp + 4], eax
movzx eax, word [esi + edi*2]
mov dword [esp], eax
call sym._fputwc
cmp ax, 0xffff
je 0x43d29d
add edi, 1
cmp edi, 0x10
jne 0x43d160
add dword [esp + 0x10], 0x10
sub ebp, 0x10
cmp ebp, 0xf
jg 0x43d140
test ebp, ebp
jg 0x43d260
mov eax, dword [esp + 0x10]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._fwrite
add dword [esp + 0x10], eax
cmp eax, 0x10
je 0x43d189
jmp 0x43d199
cmp dword [ebx + 8], 0x10
mov ecx, 0x10
cmovbe ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
cmp ecx, 4
jae 0x43d210
test ecx, ecx
je 0x43d1f7
movzx edx, byte [esi]
mov byte [eax], dl
test cl, 2
jne 0x43d324
add dword [ebx + 4], ecx
sub dword [ebx + 8], ecx
add dword [ebx + 0xc], 0x10
jmp 0x43d184
mov edx, dword [esi]
lea edi, [eax + 4]
and edi, 0xfffffffc
mov dword [eax], edx
mov edx, dword [esi + ecx - 4]
mov dword [eax + ecx - 4], edx
sub eax, edi
mov edx, esi
sub edx, eax
add eax, ecx
and eax, 0xfffffffc
mov dword [esp + 0x14], edx
cmp eax, 4
jb 0x43d1f7
mov dword [esp + 0x1c], ecx
and eax, 0xfffffffc
xor edx, edx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + edx]
mov dword [edi + edx], ecx
add edx, 4
cmp edx, eax
jb 0x43d247
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x43d1f7
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x43d2f0
cmp dword [ebx + 8], ebp
mov edx, ebp
cmovbe edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
cmp edx, 4
jae 0x43d333
test edx, edx
je 0x43d292
movzx ecx, byte [esi]
mov byte [eax], cl
test dl, 2
jne 0x43d396
add dword [ebx + 4], edx
mov edi, ebp
sub dword [ebx + 8], edx
add dword [ebx + 0xc], ebp
add dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, 0x4703d0
cmp edx, 0x20
je 0x43d12e
mov esi, 0x4703c0
cmp edx, 0x30
je 0x43d12e
lea eax, [esp + 0x20]
lea ecx, [esp + 0x30]
mov byte [eax], dl
add eax, 1
cmp eax, ecx
jne 0x43d2d4
lea esi, [esp + 0x20]
jmp 0x43d12e
mov edx, dword [esp + 0x74]
mov eax, dword [ebx]
test edx, edx
je 0x43d377
xor edi, edi
jmp 0x43d302
mov eax, dword [ebx]
mov dword [esp + 4], eax
movzx eax, word [esi + edi*2]
mov dword [esp], eax
call sym._fputwc
cmp ax, 0xffff
je 0x43d29d
add edi, 1
cmp ebp, edi
jne 0x43d300
jmp 0x43d29d
movzx edx, word [esi + ecx - 2]
mov word [eax + ecx - 2], dx
jmp 0x43d1f7
mov ecx, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + edx - 4]
mov dword [eax + edx - 4], ecx
lea ecx, [eax + 4]
and ecx, 0xfffffffc
sub eax, ecx
lea edi, [edx + eax]
sub esi, eax
and edi, 0xfffffffc
cmp edi, 4
jb 0x43d292
mov dword [esp + 0x14], edx
and edi, 0xfffffffc
xor eax, eax
mov edx, dword [esi + eax]
mov dword [ecx + eax], edx
add eax, 4
cmp eax, edi
jb 0x43d361
mov edx, dword [esp + 0x14]
jmp 0x43d292
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp], esi
call sym._fwrite
mov edi, eax
jmp 0x43d29d
movzx ecx, word [esi + edx - 2]
mov word [eax + edx - 2], cx
jmp 0x43d292