Function at 0x420f30
Capabilities:
Write file on windows

Disassembly:
sub esp, 0xd34
mov eax, dword [0x488e40]
xor eax, esp
mov dword [esp + 0xd2c], eax
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
push ebp
push esi
push edi
mov dword [esp + 0x10], ebx
lea eax, [esp + 0x28]
je 0x420f8e
lea esp, [esp]
lea edx, [esp + 0xd33]
cmp eax, edx
jae 0x420f8e
mov byte [eax], 0x20
add eax, 1
mov byte [eax], 0x20
add eax, 1
mov byte [eax], 0x20
add eax, 1
mov byte [eax], 0x20
add eax, 1
mov byte [eax], 0x20
add eax, 1
sub ecx, 1
jne 0x420f60
mov edx, dword [ebx + 0x20]
mov ecx, dword [edx + 8]
or ecx, dword [ebx + 0x10]
lea esi, [esp + 0xd37]
cmp eax, esi
jae 0x420fa8
mov byte [eax], 0x5b
add eax, 1
test cl, 2
lea esi, [esp + 0xd37]
je 0x420fbd
cmp eax, esi
jae 0x420fe3
mov byte [eax], 0x46
jmp 0x420fe0
test cl, 8
je 0x420fcb
cmp eax, esi
jae 0x420fe3
mov byte [eax], 0x44
jmp 0x420fe0
test cl, 0x20
je 0x420fd9
cmp eax, esi
jae 0x420fe3
mov byte [eax], 0x2a
jmp 0x420fe0
cmp eax, esi
jae 0x420fe3
mov byte [eax], 0x20
add eax, 1
test ecx, 0x80000
lea esi, [esp + 0xd37]
je 0x420ffb
cmp eax, esi
jae 0x421038
mov byte [eax], 0x3f
jmp 0x421035
test ecx, 0x10000
je 0x42100c
cmp eax, esi
jae 0x421038
mov byte [eax], 0x21
jmp 0x421035
test ecx, 0x20080
je 0x42101d
cmp eax, esi
jae 0x421038
mov byte [eax], 0x45
jmp 0x421035
test ecx, 0x4000
je 0x42102e
cmp eax, esi
jae 0x421038
mov byte [eax], 0x5e
jmp 0x421035
cmp eax, esi
jae 0x421038
mov byte [eax], 0x20
add eax, 1
test ecx, 0x2000
lea ecx, [esp + 0xd37]
je 0x421050
cmp eax, ecx
jae 0x421075
mov byte [eax], 0x36
jmp 0x421057
cmp eax, ecx
jae 0x421075
mov byte [eax], 0x20
add eax, 1
lea ecx, [esp + 0xd37]
cmp eax, ecx
jae 0x421075
mov byte [eax], 0x5d
add eax, 1
cmp eax, ecx
jae 0x421075
mov byte [eax], 0x20
add eax, 1
cmp byte [0x48d538], 0
je 0x421086
mov ecx, dword [edx + 0x88]
jmp 0x42108c
mov ecx, dword [edx + 0x84]
test ecx, ecx
je 0x421095
cmp byte [ecx], 0
jne 0x42109a
mov ecx, str._empty_string_
lea ebp, [esp + 0xd38]
sub ebp, eax
mov esi, ebp
test esi, esi
mov edx, eax
jle 0x4210d9
sub esi, 1
test esi, esi
jle 0x4210d6
mov edi, ecx
sub edi, eax
mov cl, byte [edi + edx]
test cl, cl
je 0x4210d6
cmp cl, 0x20
jge 0x4210c6
mov cl, 4
jmp 0x4210ca
mov ebx, dword [esp + 0x10]
mov byte [edx], cl
sub esi, 1
add edx, 1
test esi, esi
jg 0x4210b6
mov byte [edx], 0
mov ecx, ebp
test ecx, ecx
mov esi, 0x47656c
jle 0x42111d
sub ecx, 1
test ecx, ecx
jle 0x42111a
jmp 0x4210f0
cmp byte [eax], 0
je 0x421101
sub ecx, 1
add eax, 1
test ecx, ecx
jg 0x4210f0
jmp 0x42111a
test ecx, ecx
jle 0x42111a
mov dl, byte [esi]
test dl, dl
je 0x42111a
mov byte [eax], dl
sub ecx, 1
add eax, 1
add esi, 1
test ecx, ecx
jg 0x421105
mov byte [eax], 0
lea eax, [esp + 0x28]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x421124
sub eax, edx
mov esi, eax
cmp esi, 0xffffffff
jne 0x42114d
lea eax, [esp + 0x28]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x421140
sub eax, edx
mov esi, eax
mov ecx, dword [0x48a620]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea edx, [esp + 0x14]
push edx
push esi
lea eax, [esp + 0x34]
push eax
push ecx
mov dword [esp + 0x24], 0
call edi
test eax, eax
mov ebp, dword [sym.imp.KERNEL32.dll_SetLastError]
je 0x421189
cmp dword [esp + 0x10], esi
jne 0x421185
mov al, 1
jmp 0x42118b
push 0x1d
call ebp
xor al, al
cmp byte [0x48d533], 0
movzx esi, al
je 0x421239
mov edx, dword [ebx + 0x10]
shr edx, 0xe
not dl
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
and edx, 0xffffff01
push edx
lea eax, [esp + 0x18]
push eax
push ebx
call fcn.00414780
mov edx, dword [0x48a620]
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
push 2
push 0x47656c
push edx
mov dword [esp + 0x24], 0
call edi
test eax, eax
je 0x4211fc
cmp dword [esp + 0x10], 2
je 0x4211fc
push 0x1d
call ebp
mov ecx, dword [0x48a624]
lea eax, [esp + 0x14]
push eax
push 0
push ecx
mov ecx, ebx
call fcn.00413d30
mov edx, dword [ebx + 0x10]
shr edx, 0xe
not dl
add esp, 0xc
test dl, 1
je 0x421239
mov ecx, dword [0x48a628]
lea eax, [esp + 0x14]
push eax
push 1
push ecx
mov ecx, ebx
call fcn.00413d30
add esp, 0xc
mov ecx, dword [esp + 0xd3c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00454016
add esp, 0xd34
ret