Function at 0x43e4a0
Capabilities:
Write file on windows

Disassembly:
push 0x4c
mov eax, 0x4adbfc
call fcn.004353be
mov edi, ecx
mov eax, dword [edi + 0x424]
lea ecx, [edi + 8]
xor esi, esi
test eax, eax
js 0x43e4c8
push eax
call fcn.00439a00
mov dword [ebp - 0x24], eax
jmp 0x43e4cd
mov eax, esi
mov dword [ebp - 0x24], esi
test eax, eax
je 0x43ea1c
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
lea ebx, [edi + 0x430]
cmp dword [edi + 0x78], 0xffffffff
jne 0x43e50b
push ecx
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc2a0
call fcn.00402ae6
mov byte [ebp - 4], 2
jmp 0x43e658
mov eax, dword [edi + 0x20]
cmp dword [eax - 8], esi
jne 0x43e52e
push ecx
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc338
call fcn.00402ae6
mov byte [ebp - 4], 3
jmp 0x43e658
cmp dword [edi + 0x44], esi
je 0x43e54e
push ecx
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc3e0
call fcn.00402ae6
mov byte [ebp - 4], 4
jmp 0x43e658
push esi
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc490
call fcn.00402ae6
mov byte [ebp - 4], 5
mov byte [ebp - 4], 1
mov ecx, ebx
call fcn.00437bfa
push 1
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc4e0
call fcn.00402ae6
mov byte [ebp - 4], 6
mov byte [ebp - 4], 1
mov ecx, ebx
call fcn.00437bfa
lea eax, [edi + 0x4e0]
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.00449660
test eax, eax
jne 0x43e5c1
push esi
push 0x64
push ecx
mov ecx, dword [ebp - 0x34]
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0040edc3
mov byte [ebp - 4], 7
jmp 0x43e658
cmp dword [edi + 0x42c], esi
je 0x43e638
cmp dword [edi + 0x56c], esi
jne 0x43e638
push 1
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc504
call fcn.00402ae6
mov byte [ebp - 4], 8
mov byte [ebp - 4], 1
mov ecx, ebx
call fcn.00437bfa
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 1
push eax
mov ecx, ebx
call fcn.00437ab4
cmp dword [ebp - 0x28], 0
je 0x43e62e
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc540
mov dword [edi + 0x56c], 2
call fcn.00402ae6
mov byte [ebp - 4], 9
jmp 0x43e658
mov dword [edi + 0x56c], 1
cmp dword [edi + 0x56c], 1
je 0x43e668
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x4bc568
call fcn.00402ae6
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 1
mov ecx, ebx
call fcn.00437bfa
jmp 0x43ea0e
mov eax, dword [0x4e8960]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0xb
mov eax, dword [0x4e8960]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3c]
call fcn.00449760
push dword [ebp - 0x3c]
lea eax, [ebp - 0x28]
push 0x4bc5b8
push eax
call fcn.0040240b
add esp, 0xc
lea eax, [ebp - 0x28]
push 1
push 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0xc
mov ecx, ebx
call fcn.00437bfa
push ecx
mov ecx, dword [ebp - 0x24]
mov eax, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0043abdb
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xc
lea ecx, [edi + 0x4e0]
call fcn.004498a0
lea eax, [edi + 0x20]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040180b
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x2c003b
push eax
push dword [ebp - 0x44]
mov dword [ebp - 0x14], 0x20
mov dword [ebp - 0x40], esi
call fcn.0041c910
add esp, 0xc
test eax, eax
je 0x43e770
push eax
lea ecx, [ebp - 0x24]
call fcn.00402ae6
mov byte [ebp - 4], 0x10
mov edx, 0x4bc608
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0040fc64
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x10
lea ecx, [edi + 0x4e0]
call fcn.00449900
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
call fcn.004019df
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x18]
push eax
push esi
call fcn.0041c910
add esp, 0xc
test eax, eax
jne 0x43e718
lea ebx, [edi + 0x430]
push ecx
lea eax, [edi + 0x24]
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0xf
lea ecx, [edi + 0x4e0]
call fcn.00449990
lea eax, [edi + 0x55c]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040180b
mov byte [ebp - 4], 0x13
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 0x43e7ed
sub eax, dword [ebp - 0x20]
sar eax, 1
js 0x43e7ed
inc eax
lea ecx, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00402ca9
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x20]
push eax
call fcn.00402d8e
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x24]
call fcn.004019df
lea edx, [edi + 0x28]
mov eax, dword [edx]
push ecx
mov dword [ebp - 0x1c], esp
cmp dword [eax - 8], esi
jne 0x43e80b
mov eax, esp
mov ecx, edi
push eax
call fcn.0043ee30
mov byte [ebp - 4], 0x15
jmp 0x43e817
mov ecx, esp
push edx
call fcn.0040180b
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x13
lea ecx, [edi + 0x4e0]
call fcn.004499f0
push ecx
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0x17
lea eax, [edi + 0x55c]
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0x13
lea ecx, [edi + 0x4e0]
call fcn.00449a50
mov eax, dword [0x4e8960]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x24]
push eax
push ecx
lea eax, [edi + 0x55c]
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x19
mov ecx, edi
call fcn.00440410
mov edi, 0x4bb6e8
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x43e8a9
push edi
push eax
lea ecx, [ebp - 0x20]
call fcn.004026d1
mov eax, dword [0x4e8960]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x30]
call fcn.00437a27
push 0x4b91e8
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x1c]
call fcn.00401f34
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x20]
push ecx
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.00405797
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1c]
call fcn.004019df
push 0x4b9240
push dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
push eax
call fcn.0041cc26
add esp, 0xc
cmp dword [ebp - 0x2c], 0
je 0x43e974
push esi
lea ecx, [ebp - 0x24]
call fcn.00402bdb
push eax
lea ecx, [ebp - 0x54]
call fcn.00403677
mov edx, eax
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x43e91f
push dword [ebp - 0x2c]
sub edx, edi
push 1
push edx
push eax
call fcn.0041f47b
push dword [ebp - 0x2c]
call fcn.0041ca0d
add esp, 0x10
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x38]
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
call fcn.0040180b
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0x1e
mov edi, dword [ebp - 0x34]
mov ecx, edi
call fcn.00449a50
jmp 0x43e977
mov edi, dword [ebp - 0x34]
mov ecx, edi
call fcn.00449b00
mov dword [ebp - 0x1c], eax
push esi
push 0x64
push ecx
mov dword [ebp - 0x48], esp
test eax, eax
jne 0x43e99c
mov edx, esp
mov ecx, edi
push edx
call fcn.0040edc3
mov byte [ebp - 4], 0x21
jmp 0x43e9ac
mov ecx, esp
push 0x4bc614
call fcn.00402ae6
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x1e
mov ecx, ebx
call fcn.00437bfa
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x38]
call fcn.004019df
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x30]
call fcn.004019df
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x24]
call fcn.004019df
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x20]
call fcn.004019df
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x44]
call fcn.004019df
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3c]
call fcn.004019df
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004019df
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00401a38
mov eax, esi
call fcn.00435368
ret