Function at 0x459d20
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x28
push ebp
mov ebp, dword [esp + 0x30]
push esi
xor esi, esi
cmp dword [ebx + 0x30], esi
mov dword [esp + 0x34], esi
jle 0x459f27
push edi
lea esp, [esp]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + esi*4]
jne 0x459d5d
mov edx, dword [ebx + 0x324]
lea ecx, [eax + eax*4]
mov edi, dword [edx + ecx*4 + 0x10]
jmp 0x459d6a
mov edi, dword [ebx + 0x64]
mov edx, dword [ecx]
push edi
push eax
mov eax, dword [edx]
call eax
mov edi, eax
push 0x2c
push edi
call sub.msvcrt.dll_wcschr
add esp, 8
test eax, eax
jne 0x459ddc
push 0x22
push edi
call sub.msvcrt.dll_wcschr
add esp, 8
test eax, eax
jne 0x459ddc
cmp dword [ebx + 0x24], eax
je 0x459dcd
cmp dword [ebx + 0x28], eax
je 0x459da1
push edi
push ebp
call fcn.00456ef0
add esp, 8
jmp 0x459ece
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x459da6
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x18]
push ecx
lea edx, [eax + eax]
push edx
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x459ece
push edi
push ebp
call fcn.00456e70
add esp, 8
jmp 0x459ece
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x10]
push eax
or eax, 0xffffffff
lea esi, [esp + 0x24]
mov dword [esp + 0x34], 0x100
mov dword [esp + 0x30], 1
mov dword [esp + 0x14], 0x22
call fcn.0045eb20
movzx eax, word [edi]
test ax, ax
mov dword [esp + 0xc], eax
je 0x459e53
nop
cmp ax, 0x22
lea esi, [esp + 0x20]
jne 0x459e34
push 0x470ae4
or eax, 0xffffffff
jmp 0x459e3e
lea ecx, [esp + 0xc]
push ecx
mov eax, 1
call fcn.0045eb20
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
mov dword [esp + 0xc], eax
jne 0x459e20
lea edx, [esp + 0x10]
push edx
or eax, 0xffffffff
lea esi, [esp + 0x24]
call fcn.0045eb20
mov edi, dword [esp + 0x20]
test edi, edi
mov edx, 0x46f57c
je 0x459e73
mov edx, edi
cmp dword [ebx + 0x24], 0
je 0x459eb3
cmp dword [ebx + 0x28], 0
je 0x459e88
push edx
push ebp
call fcn.00456ef0
jmp 0x459eba
mov eax, edx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x459e90
sub eax, esi
push 0
sar eax, 1
lea ecx, [esp + 0x1c]
push ecx
add eax, eax
push eax
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x459ebd
push edx
push ebp
call fcn.00456e70
add esp, 8
test edi, edi
je 0x459eca
push edi
call sub.msvcrt.dll_free
add esp, 4
mov esi, dword [esp + 0x38]
mov ecx, dword [ebx + 0x30]
sub ecx, 1
cmp esi, ecx
jge 0x459f16
cmp dword [ebx + 0x24], 0
je 0x459f08
cmp dword [ebx + 0x28], 0
je 0x459ef1
push 0x46f664
push ebp
call fcn.00456ef0
jmp 0x459f13
push 0
lea edx, [esp + 0x20]
push edx
push 2
push 0x46f664
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x459f16
push 0x46f664
push ebp
call fcn.00456e70
add esp, 8
add esi, 1
cmp esi, dword [ebx + 0x30]
mov dword [esp + 0x38], esi
jl 0x459d40
pop edi
cmp dword [ebx + 0x24], 0
je 0x459f66
cmp dword [ebx + 0x28], 0
je 0x459f49
push 0x470aec
push ebp
call fcn.00456ef0
add esp, 8
pop esi
pop ebp
add esp, 0x28
ret 8
push 0
lea eax, [esp + 0x38]
push eax
push 4
push 0x470aec
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
pop ebp
add esp, 0x28
ret 8
push 0x470aec
push ebp
call fcn.00456e70
add esp, 8
pop esi
pop ebp
add esp, 0x28
ret 8