Function at 0x43ea30
Capabilities:
Write file on windows

Disassembly:
push 0x34
mov eax, 0x4adcd3
call fcn.004353be
mov edi, ecx
xor ebx, ebx
lea ecx, [edi + 8]
mov dword [ebp - 0x2c], ebx
mov eax, dword [edi + 0x424]
test eax, eax
js 0x43ea5d
push eax
call fcn.00439a00
mov ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x43ea62
mov ecx, ebx
mov dword [ebp - 0x24], ebx
test ecx, ecx
jne 0x43ea6d
xor eax, eax
jmp 0x43ee22
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
xor edx, edx
inc edx
mov dword [ebp - 4], edx
cmp dword [edi + 0x74], 0xffffffff
jne 0x43ea9a
push edx
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc168
call fcn.00402ae6
mov byte [ebp - 4], 2
jmp 0x43eab8
mov eax, dword [edi + 0x20]
cmp dword [eax - 8], ebx
jne 0x43eacc
push edx
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc200
call fcn.00402ae6
mov byte [ebp - 4], 3
mov byte [ebp - 4], 1
lea ecx, [edi + 0x430]
call fcn.00437bfa
jmp 0x43ee14
lea eax, [ebp - 0x28]
push eax
call fcn.0043abdb
mov byte [ebp - 4], 4
mov eax, dword [eax]
mov esi, dword [eax - 8]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004019df
test esi, esi
jne 0x43ebaf
lea esi, [edi + 0x20]
mov eax, dword [esi]
lea ecx, [ebp - 0x24]
push dword [eax - 8]
push eax
call fcn.0040559d
mov byte [ebp - 4], 5
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x2c003b
push eax
push dword [ebp - 0x24]
mov dword [ebp - 0x14], 0x20
mov dword [ebp - 0x28], ebx
call fcn.0041c910
add esp, 0xc
test eax, eax
je 0x43eb46
cmp word [eax], bx
je 0x43eb46
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402ae6
mov byte [ebp - 4], 6
xor ecx, ecx
inc ecx
jmp 0x43eb59
push esi
lea ecx, [ebp - 0x20]
call fcn.0040180b
mov dword [ebp - 4], 7
push 2
pop ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [edi + 0x474]
push dword [eax]
call fcn.004019b5
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x2c]
test al, 2
je 0x43eb88
and eax, 0xfffffffd
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x2c], eax
call fcn.004019df
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], 5
test al, 1
je 0x43eba1
and eax, 0xfffffffe
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
call fcn.004019df
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.004019df
jmp 0x43ebdb
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
push eax
call fcn.0043abdb
mov byte [ebp - 4], 8
lea ecx, [edi + 0x474]
push dword [eax]
call fcn.004019b5
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.004019df
lea esi, [edi + 0x20]
push dword [esi]
lea ecx, [edi + 0x470]
call fcn.004509d0
push dword [edi + 0x24]
lea esi, [edi + 0x470]
mov ecx, esi
call fcn.004019b5
mov eax, dword [edi + 0x28]
cmp dword [eax - 8], ebx
jne 0x43ec27
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.0043ee30
mov byte [ebp - 4], 9
lea ecx, [esi + 0x14]
push dword [eax]
call fcn.004019b5
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.004019df
jmp 0x43ec30
push eax
lea ecx, [esi + 0x14]
call fcn.004019b5
lea esi, [edi + 0x55c]
push dword [esi]
lea ecx, [edi + 0x470]
call fcn.00450a60
mov eax, dword [0x4e8960]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x24]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
call fcn.0040180b
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
mov ecx, edi
call fcn.00440410
push esi
lea ecx, [ebp - 0x20]
call fcn.0040180b
mov byte [ebp - 4], 0xc
push ecx
push ecx
lea ecx, [ebp - 0x20]
call fcn.0040fcc6
push 0x5c
push dword [ebp - 0x20]
call fcn.00414bc8
pop ecx
pop ecx
test eax, eax
je 0x43ecc3
sub eax, dword [ebp - 0x20]
sar eax, 1
js 0x43ecc3
inc eax
lea ecx, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00402ca9
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20]
push eax
call fcn.00402d8e
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1c]
call fcn.004019df
mov esi, 0x4bb6e8
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x43ecdd
push esi
push eax
lea ecx, [ebp - 0x20]
call fcn.004026d1
mov eax, dword [0x4e8960]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28]
call fcn.00437a27
push 0x4b91e8
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x1c]
call fcn.00401f34
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x20]
push ecx
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.00405797
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1c]
call fcn.004019df
push 0x4b9240
push dword [ebp - 0x34]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push eax
call fcn.0041cc26
add esp, 0xc
cmp dword [ebp - 0x30], 0
je 0x43ed85
push ebx
lea ecx, [ebp - 0x24]
call fcn.00402bdb
push eax
lea ecx, [ebp - 0x40]
call fcn.00403677
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x43ed53
push dword [ebp - 0x30]
sub edx, esi
push 1
push edx
push eax
call fcn.0041f47b
push dword [ebp - 0x30]
call fcn.0041ca0d
add esp, 0x14
lea esi, [edi + 0x470]
mov ecx, esi
push dword [ebp - 0x34]
call fcn.00450a60
jmp 0x43ed8b
lea esi, [edi + 0x470]
lea edx, [edi + 0x30]
mov eax, dword [edx]
cmp dword [eax - 8], ebx
je 0x43edbb
push dword [edi + 0x34]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edx
call fcn.0040180b
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x11
lea ebx, [edi + 0x494]
mov ecx, ebx
call fcn.00450ac0
jmp 0x43edc1
lea ebx, [edi + 0x494]
push dword [edi + 0x3c]
mov ecx, ebx
push dword [edi + 0x38]
call fcn.00450b00
lea eax, [edi + 0x430]
mov ecx, ebx
push eax
push esi
call fcn.00450b30
xor ebx, ebx
test eax, eax
sete bl
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x34]
call fcn.004019df
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x28]
call fcn.004019df
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x20]
call fcn.004019df
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24]
call fcn.004019df
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00401a38
mov eax, ebx
call fcn.00435368
ret