Function at 0x42b5ad
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x174
cmp dword [ebp + 8], 0
je 0x42b9e8
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
test eax, eax
je 0x42b9e8
cmp dword [ebp + 0x18], 0
jl 0x42b5eb
jg 0x42b5dc
cmp dword [ebp + 0x14], 1
jbe 0x42b5eb
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + eax], 0
jmp 0x42b67e
mov eax, dword [ebp + 0x14]
and eax, dword [ebp + 0x18]
cmp eax, 0xffffffff
jne 0x42b67e
xorpd xmm0, xmm0
movlpd qword [ebp - 8], xmm0
jmp 0x42b617
mov eax, dword [ebp - 8]
add eax, 1
mov ecx, dword [ebp - 4]
adc ecx, 0
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
test eax, eax
je 0x42b67e
push 0
push 2
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.0045be60
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x16c]
or eax, dword [ebp - 0x168]
jne 0x42b666
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
sub eax, 0x55
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
jmp 0x42b67c
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
sub eax, 0x77
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
jmp 0x42b605
cmp dword [ebp + 0xc], 1
jne 0x42b6f0
cmp dword [ebp + 0x10], 0
jne 0x42b6f0
xorpd xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
jmp 0x42b6a7
mov eax, dword [ebp - 0x10]
add eax, 1
mov ecx, dword [ebp - 0xc]
adc ecx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
test eax, eax
je 0x42b6eb
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x61
jl 0x42b6e9
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x7a
jg 0x42b6e9
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
sub eax, 0x20
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
jmp 0x42b695
jmp 0x42b8ac
cmp dword [ebp + 0xc], 2
jne 0x42b762
cmp dword [ebp + 0x10], 0
jne 0x42b762
xorpd xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
jmp 0x42b719
mov eax, dword [ebp - 0x18]
add eax, 1
mov ecx, dword [ebp - 0x14]
adc ecx, 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
test eax, eax
je 0x42b75d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x41
jl 0x42b75b
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jg 0x42b75b
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
add eax, 0x20
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
jmp 0x42b707
jmp 0x42b8ac
cmp dword [ebp + 0xc], 3
jne 0x42b8ac
cmp dword [ebp + 0x10], 0
jne 0x42b8ac
xorpd xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
jmp 0x42b793
mov eax, dword [ebp - 0x20]
add eax, 1
mov ecx, dword [ebp - 0x1c]
adc ecx, 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
test eax, eax
je 0x42b8ac
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x41
jl 0x42b7c3
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jle 0x42b7e9
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x61
jl 0x42b8a7
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x7a
jg 0x42b8a7
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x61
jl 0x42b81d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x7a
jg 0x42b81d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
sub eax, 0x20
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x20]
add eax, 1
mov ecx, dword [ebp - 0x1c]
adc ecx, 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
test eax, eax
je 0x42b8a7
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x41
jl 0x42b873
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jg 0x42b873
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
add eax, 0x20
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
jmp 0x42b893
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x61
jl 0x42b891
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x7a
jle 0x42b893
jmp 0x42b8a7
mov eax, dword [ebp - 0x20]
add eax, 1
mov ecx, dword [ebp - 0x1c]
adc ecx, 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
jmp 0x42b82f
jmp 0x42b781
cmp dword [ebp + 0x14], 0xfffffffe
jne 0x42b9e8
cmp dword [ebp + 0x18], 0xffffffff
jne 0x42b9e8
push dword [ebp + 8]
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
xorpd xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
jmp 0x42b8fe
mov eax, dword [ebp - 0x160]
add eax, 1
mov ecx, dword [ebp - 0x15c]
adc ecx, 0
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], ecx
mov eax, dword [ebp - 0x160]
movzx eax, byte [ebp + eax - 0x158]
test eax, eax
je 0x42b982
push 0
push 2
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
call fcn.0045be60
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x174]
or eax, dword [ebp - 0x170]
jne 0x42b95f
mov eax, dword [ebp - 0x160]
movzx eax, byte [ebp + eax - 0x158]
add eax, 0x55
mov ecx, dword [ebp - 0x160]
mov byte [ebp + ecx - 0x158], al
jmp 0x42b97d
mov eax, dword [ebp - 0x160]
movzx eax, byte [ebp + eax - 0x158]
add eax, 0x77
mov ecx, dword [ebp - 0x160]
mov byte [ebp + ecx - 0x158], al
jmp 0x42b8e0
lea eax, [ebp - 0x58]
push eax
push dword [ebp + 8]
call dword [sym.imp.MSVCR100.dll__stat64]
pop ecx
pop ecx
test eax, eax
je 0x42b9e8
push 0x428544
push dword [ebp + 8]
call dword [sym.imp.MSVCR100.dll_fopen]
pop ecx
pop ecx
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
je 0x42b9e8
push dword [ebp - 0x164]
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
push eax
push 1
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
push dword [ebp - 0x164]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
leave
ret 0x14