Function at 0x452497
Capabilities:
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x10004]
mov eax, 0x10004
call fcn.004791d0
push 0xffffffffffffffff
push 0x4a0dd9
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x4c3a10]
xor eax, ebp
mov dword [ebp + 0x10000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 0x1000c]
mov dword [ebp - 0x34], edi
mov esi, dword [ebp + 0x10010]
mov dword [ebp - 0x3c], esi
xor ebx, ebx
mov dword [ebp - 4], ebx
push ebx
push 0x10000
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x30]
call fcn.0045960f
mov dword [ebp - 0x14], 0x65ef0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
call fcn.00459818
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x30]
call fcn.00459818
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.004522c2
mov dword [ebp - 0x20], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x90]
push eax
mov ecx, edi
call fcn.004522d8
push eax
lea ecx, [ebp - 0x18]
call fcn.00451dd3
test al, al
je 0x452755
lea ecx, [ebp - 0x18]
call fcn.0049afd3
cmp dword [eax + 0x18], 8
jb 0x45256e
mov edi, dword [eax + 4]
jmp 0x452571
lea edi, [eax + 4]
test edi, edi
je 0x452580
push edi
call ebx
inc eax
cmp eax, 0x3fffffff
jle 0x452584
xor eax, eax
jmp 0x45259f
lea esi, [eax + eax]
mov eax, esi
call fcn.004791a0
mov dword [ebp - 0x10], esp
mov eax, esp
push 3
pop ecx
push ecx
push esi
push edi
push eax
call fcn.00451c95
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402406
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004523e6
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.0045acd0
push 0
push 1
lea ecx, [ebp - 0x88]
call fcn.004027d5
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.004027d5
lea ecx, [ebp - 0x18]
call fcn.0049afd3
cmp dword [eax + 0x54], 8
jb 0x4525ee
mov edi, dword [eax + 0x40]
jmp 0x4525f1
lea edi, [eax + 0x40]
test edi, edi
je 0x452600
push edi
call ebx
inc eax
cmp eax, 0x3fffffff
jle 0x452604
xor eax, eax
jmp 0x45261f
lea esi, [eax + eax]
mov eax, esi
call fcn.004791a0
mov dword [ebp - 0x10], esp
mov eax, esp
push 3
pop ecx
push ecx
push esi
push edi
push eax
call fcn.00451c95
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402406
push eax
lea ecx, [ebp - 0x30]
call fcn.0045acd0
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.004027d5
lea ecx, [ebp - 0x18]
call fcn.0049afd3
add eax, 0x58
push eax
lea ecx, [ebp - 0x30]
call fcn.00459818
lea ecx, [ebp - 0x18]
call fcn.0049afd3
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x30]
call fcn.00459818
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x18]
call fcn.0049afd3
mov ecx, eax
add ecx, 0x1c
call fcn.004522c2
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x18]
call fcn.0049afd3
mov ecx, eax
add ecx, 0x1c
call fcn.004522d8
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x48]
call fcn.00451dac
test al, al
jne 0x45273f
lea ecx, [ebp - 0x48]
call fcn.0049afd3
cmp dword [eax + 0x18], 8
jb 0x4526c2
mov edi, dword [eax + 4]
jmp 0x4526c5
lea edi, [eax + 4]
test edi, edi
je 0x4526d4
push edi
call ebx
inc eax
cmp eax, 0x3fffffff
jle 0x4526d8
xor eax, eax
jmp 0x4526f3
lea esi, [eax + eax]
mov eax, esi
call fcn.004791a0
mov dword [ebp - 0x10], esp
mov eax, esp
push 3
pop ecx
push ecx
push esi
push edi
push eax
call fcn.00451c95
push eax
lea ecx, [ebp - 0x88]
call fcn.00402406
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004523e6
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.0045acd0
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.004027d5
push 0
push 1
lea ecx, [ebp - 0x88]
call fcn.004027d5
lea ecx, [ebp - 0x48]
call fcn.00451de8
inc dword [ebp - 0x1c]
jmp 0x45269b
lea ecx, [ebp - 0x18]
call fcn.00451e37
inc dword [ebp - 0x20]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x34]
jmp 0x45253c
cmp dword [esi + 0x18], 8
jb 0x452760
mov edi, dword [esi + 4]
jmp 0x452763
lea edi, [esi + 4]
test edi, edi
je 0x452772
push edi
call ebx
inc eax
cmp eax, 0x3fffffff
jle 0x452776
xor eax, eax
jmp 0x452791
lea esi, [eax + eax]
mov eax, esi
call fcn.004791a0
mov dword [ebp - 0x10], esp
mov eax, esp
push 3
pop ecx
push ecx
push esi
push edi
push eax
call fcn.00451c95
push 0x4aadb8
push eax
call fcn.0047a6b7
pop ecx
pop ecx
mov esi, eax
test esi, esi
je 0x4527c6
push esi
lea ecx, [ebp - 0x30]
call fcn.0045965a
push eax
push 1
lea eax, [ebp]
push eax
call fcn.0047a571
push esi
call fcn.0047a393
add esp, 0x14
or dword [ebp - 4], 0xffffffff
lea esp, [ebp - 0xa4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x10000]
xor ecx, ebp
call fcn.0047674a
add ebp, 0x10004
leave
ret