Function at 0x40b526
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x468
push esi
push edi
push 0
push 0x8000000
push 2
push 0
xor edi, edi
inc edi
push edi
push 0x40000000
push dword [ebp + 0xc]
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x20], eax
jne 0x40b572
push 0x30
push str.Proxy_Checker_Pro_v7
push str.File_opening_error
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40be11
push ebx
lea ebx, [esi + 0x134]
mov ecx, ebx
call fcn.0040a615
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp + 8], ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], ecx
mov dword [ebp + 0xc], ecx
jbe 0x40b69b
lea eax, [ebp - 0x468]
push eax
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.0040aae6
cmp dword [ebp - 0x464], 0
jne 0x40b5bf
mov dword [ebp + 8], edi
cmp byte [ebp - 0x452], 0
je 0x40b5dd
lea eax, [ebp - 0x452]
push eax
call fcn.004279a0
cmp eax, dword [ebp - 4]
pop ecx
jbe 0x40b5dd
mov dword [ebp - 4], eax
cmp byte [esi + 0x1f1], 0
je 0x40b611
push dword [ebp - 0x454]
lea edi, [esi + 0x12c]
mov ecx, edi
call fcn.00401c0c
cmp eax, dword [ebp - 0x10]
jbe 0x40b60e
push dword [ebp - 0x454]
mov ecx, edi
call fcn.00401c0c
mov dword [ebp - 0x10], eax
xor edi, edi
inc edi
cmp byte [esi + 0x1f2], 0
je 0x40b62f
lea eax, [ebp - 0x352]
push eax
call fcn.004279a0
cmp eax, dword [ebp - 8]
pop ecx
jbe 0x40b62f
mov dword [ebp - 8], eax
cmp byte [esi + 0x1f3], 0
je 0x40b64d
lea eax, [ebp - 0x252]
push eax
call fcn.004279a0
cmp eax, dword [ebp - 0xc]
pop ecx
jbe 0x40b64d
mov dword [ebp - 0xc], eax
push dword [ebp - 0x150]
xor eax, eax
mov al, byte [ebp - 0x151]
push 0
and eax, 0xffffff1f
push eax
push dword [ebp - 0x152]
lea eax, [ebp - 0x12c]
push eax
call fcn.00419df7
lea eax, [ebp - 0x12c]
push eax
call fcn.004279a0
add esp, 0x18
cmp eax, dword [ebp - 0x14]
jbe 0x40b68c
mov dword [ebp - 0x14], eax
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x18]
jb 0x40b5a2
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
add eax, ecx
add eax, dword [ebp - 0x10]
lea eax, [eax + edi + 0x400]
push eax
call fcn.0043be5a
pop ecx
mov ebx, eax
push 0xf
pop eax
cmp edi, eax
mov dword [ebp - 0x1c], ebx
jae 0x40b6c8
mov edi, eax
mov dword [ebp - 4], edi
xor ecx, ecx
cmp dword [ebp + 8], ecx
mov dword [ebp - 0x28], edi
jne 0x40b6d5
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x18], ecx
mov dword [ebp + 0xc], ecx
jbe 0x40be00
lea eax, [ebp - 0x468]
push eax
push dword [ebp + 0xc]
lea ecx, [esi + 0x134]
call fcn.0040aae6
test byte [ebp - 0x151], 0x80
je 0x40b70f
and byte [ebp - 0x151], 0xf
mov dword [ebp - 0x24], 1
jmp 0x40b713
and dword [ebp - 0x24], 0
cmp dword [ebp - 0x464], 0
je 0x40b72a
push dword [ebp - 0x464]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
jmp 0x40b730
lea eax, [ebp - 0x452]
cmp byte [esi + 0x1ec], 0
je 0x40b763
cmp byte [esi + 0x1e9], 0
movzx ecx, word [ebp - 0x460]
push ecx
push eax
je 0x40b75c
push str._s_t_d
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x40b773
push str._s:_d
jmp 0x40b750
push eax
push 0x45635c
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp byte [esi + 0x1e9], 0
je 0x40b78b
push 0x456358
push ebx
call fcn.00428670
pop ecx
pop ecx
jmp 0x40b801
cmp byte [esi + 0x1f2], 0
jne 0x40b7dc
cmp byte [esi + 0x1f1], 0
jne 0x40b7dc
cmp byte [esi + 0x1f3], 0
jne 0x40b7dc
cmp byte [esi + 0x1eb], 0
jne 0x40b7dc
cmp byte [esi + 0x1f4], 0
jne 0x40b7dc
cmp byte [esi + 0x1ef], 0
jne 0x40b7dc
cmp byte [esi + 0x1ee], 0
jne 0x40b7dc
cmp byte [esi + 0x1f0], 0
jne 0x40b7dc
cmp byte [esi + 0x1ed], 0
je 0x40b801
push ebx
call fcn.004279a0
pop ecx
mov ecx, dword [ebp - 0x28]
add ecx, 8
cmp eax, ecx
jae 0x40b801
sub ecx, eax
mov edi, ecx
push 0x4543dc
push ebx
call fcn.00428670
dec edi
pop ecx
pop ecx
jne 0x40b7f1
cmp byte [esi + 0x1eb], 0
je 0x40b875
push ebx
call fcn.004279a0
cmp byte [ebp - 0x452], 0
pop ecx
mov edi, eax
je 0x40b825
lea eax, [ebp - 0x452]
push eax
jmp 0x40b82a
push 0x4543dc
push ebx
call fcn.00428670
cmp byte [esi + 0x1e9], 0
pop ecx
pop ecx
je 0x40b84a
push 0x456358
push ebx
call fcn.00428670
pop ecx
pop ecx
jmp 0x40b875
push ebx
call fcn.004279a0
pop ecx
mov ecx, dword [ebp - 4]
lea ecx, [edi + ecx + 2]
cmp eax, ecx
jae 0x40b875
sub edi, eax
mov eax, dword [ebp - 4]
lea edi, [edi + eax + 2]
push 0x4543dc
push ebx
call fcn.00428670
dec edi
pop ecx
pop ecx
jne 0x40b865
cmp byte [esi + 0x1ed], 0
je 0x40b905
push dword [ebp - 0x150]
xor eax, eax
mov al, byte [ebp - 0x151]
push 0
and eax, 0xffffff1f
push eax
push dword [ebp - 0x152]
lea eax, [ebp - 0x12c]
push eax
call fcn.00419df7
push ebx
call fcn.004279a0
mov edi, eax
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.00428670
add esp, 0x20
cmp byte [esi + 0x1e9], 0
je 0x40b8da
push 0x456358
push ebx
call fcn.00428670
pop ecx
pop ecx
jmp 0x40b905
push ebx
call fcn.004279a0
pop ecx
mov ecx, dword [ebp - 0x14]
lea ecx, [edi + ecx + 2]
cmp eax, ecx
jae 0x40b905
sub edi, eax
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax + 2]
push 0x4543dc
push ebx
call fcn.00428670
dec edi
pop ecx
pop ecx
jne 0x40b8f5
cmp byte [esi + 0x1ee], 0
je 0x40b9e7
lea eax, [ebp - 0x12c]
push 0x456354
push eax
call fcn.00428660
cmp byte [ebp - 0x152], 1
pop ecx
pop ecx
jbe 0x40b95f
mov eax, dword [ebp - 0x45c]
and eax, 0xffff
cmp byte [esi + 0x1ea], 0
push eax
lea eax, [ebp - 0x12c]
je 0x40b950
push 0x454c90
jmp 0x40b955
push str.RT_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp byte [esi + 0x1e9], 0
lea eax, [ebp - 0x12c]
jne 0x40b975
push 0x453e74
jmp 0x40b97a
push 0x456358
push eax
call fcn.00428670
pop ecx
pop ecx
push ebx
call fcn.004279a0
cmp byte [esi + 0x1e9], 0
pop ecx
mov edi, eax
jne 0x40b9d8
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp + 8], edi
call fcn.004279a0
pop ecx
mov ecx, edi
sub ecx, eax
add ecx, 0xa
cmp edi, ecx
jae 0x40b9d8
push 0x4543dc
push ebx
call fcn.00428670
inc dword [ebp + 8]
lea eax, [ebp - 0x12c]
push eax
call fcn.004279a0
mov ecx, edi
sub ecx, eax
add ecx, 0xa
add esp, 0xc
cmp dword [ebp + 8], ecx
jb 0x40b9af
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.00428670
pop ecx
pop ecx
cmp byte [esi + 0x1ef], 0
je 0x40bac7
lea eax, [ebp - 0x12c]
push 0x456354
push eax
call fcn.00428660
cmp byte [ebp - 0x152], 1
pop ecx
pop ecx
jbe 0x40ba3f
mov eax, dword [ebp - 0x45c]
shr eax, 0x10
cmp byte [esi + 0x1ea], 0
push eax
lea eax, [ebp - 0x12c]
je 0x40ba30
push 0x454c90
jmp 0x40ba35
push str.PFH_d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp byte [esi + 0x1e9], 0
lea eax, [ebp - 0x12c]
jne 0x40ba55
push 0x453e74
jmp 0x40ba5a
push 0x456358
push eax
call fcn.00428670
pop ecx
pop ecx
push ebx
call fcn.004279a0
cmp byte [esi + 0x1e9], 0
pop ecx
mov edi, eax
jne 0x40bab8
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp + 8], edi
call fcn.004279a0
pop ecx
mov ecx, edi
sub ecx, eax
add ecx, 0xb
cmp edi, ecx
jae 0x40bab8
push 0x4543dc
push ebx
call fcn.00428670
inc dword [ebp + 8]
lea eax, [ebp - 0x12c]
push eax
call fcn.004279a0
mov ecx, edi
sub ecx, eax
add ecx, 0xb
add esp, 0xc
cmp dword [ebp + 8], ecx
jb 0x40ba8f
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.00428670
pop ecx
pop ecx
cmp byte [esi + 0x1f0], 0
je 0x40bba6
lea eax, [ebp - 0x12c]
push 0x456354
push eax
call fcn.00428660
cmp byte [ebp - 0x152], 1
pop ecx
pop ecx
jbe 0x40bb1b
cmp byte [esi + 0x1ea], 0
push dword [ebp - 0x458]
lea eax, [ebp - 0x12c]
je 0x40bb0c
push 0x454c90
jmp 0x40bb11
push str._d_b_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp byte [esi + 0x1e9], 0
lea eax, [ebp - 0x12c]
jne 0x40bb31
push 0x453e74
jmp 0x40bb36
push 0x456358
push eax
call fcn.00428670
pop ecx
pop ecx
push ebx
call fcn.004279a0
cmp byte [esi + 0x1e9], 0
pop ecx
mov edi, eax
jne 0x40bb92
lea eax, [ebp - 0x12c]
push eax
mov ebx, edi
call fcn.004279a0
pop ecx
mov ecx, edi
sub ecx, eax
add ecx, 0xb
cmp edi, ecx
jae 0x40bb92
push 0x4543dc
push dword [ebp - 0x1c]
call fcn.00428670
lea eax, [ebp - 0x12c]
push eax
inc ebx
call fcn.004279a0
mov ecx, edi
sub ecx, eax
add ecx, 0xb
add esp, 0xc
cmp ebx, ecx
jb 0x40bb6a
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x1c]
call fcn.00428670
mov ebx, dword [ebp - 0x1c]
pop ecx
pop ecx
cmp byte [esi + 0x1f1], 0
je 0x40bc49
push dword [ebp - 0x454]
lea eax, [ebp - 0x12c]
push eax
lea ecx, [esi + 0x12c]
mov byte [ebp - 0x12c], 0
call fcn.00401c2d
cmp byte [ebp - 0x12c], 0
jne 0x40bbee
lea eax, [ebp - 0x12c]
push 0x4543dc
push eax
call fcn.00428660
pop ecx
pop ecx
push ebx
call fcn.004279a0
mov edi, eax
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.00428670
add esp, 0xc
cmp byte [esi + 0x1e9], 0
je 0x40bc1e
push 0x456358
push ebx
call fcn.00428670
pop ecx
pop ecx
jmp 0x40bc49
push ebx
call fcn.004279a0
pop ecx
mov ecx, dword [ebp - 0x10]
lea ecx, [edi + ecx + 2]
cmp eax, ecx
jae 0x40bc49
sub edi, eax
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax + 2]
push 0x4543dc
push ebx
call fcn.00428670
dec edi
pop ecx
pop ecx
jne 0x40bc39
cmp byte [esi + 0x1f2], 0
je 0x40bcc7
push ebx
call fcn.004279a0
cmp byte [ebp - 0x352], 0
pop ecx
mov edi, eax
je 0x40bc6d
lea eax, [ebp - 0x352]
push eax
jmp 0x40bc72
push 0x4543dc
push ebx
call fcn.00428670
pop ecx
pop ecx
lea eax, [edi + ebx]
push eax
call fcn.004027a9
cmp byte [esi + 0x1e9], 0
pop ecx
je 0x40bc9c
push 0x456358
push ebx
call fcn.00428670
pop ecx
pop ecx
jmp 0x40bcc7
push ebx
call fcn.004279a0
pop ecx
mov ecx, dword [ebp - 8]
lea ecx, [edi + ecx + 2]
cmp eax, ecx
jae 0x40bcc7
sub edi, eax
mov eax, dword [ebp - 8]
lea edi, [edi + eax + 2]
push 0x4543dc
push ebx
call fcn.00428670
dec edi
pop ecx
pop ecx
jne 0x40bcb7
cmp byte [esi + 0x1f3], 0
je 0x40bd45
push ebx
call fcn.004279a0
cmp byte [ebp - 0x252], 0
pop ecx
mov edi, eax
je 0x40bceb
lea eax, [ebp - 0x252]
push eax
jmp 0x40bcf0
push 0x4543dc
push ebx
call fcn.00428670
pop ecx
pop ecx
lea eax, [edi + ebx]
push eax
call fcn.004027a9
cmp byte [esi + 0x1e9], 0
pop ecx
je 0x40bd1a
push 0x456358
push ebx
call fcn.00428670
pop ecx
pop ecx
jmp 0x40bd45
push ebx
call fcn.004279a0
pop ecx
mov ecx, dword [ebp - 0xc]
lea ecx, [edi + ecx + 2]
cmp eax, ecx
jae 0x40bd45
sub edi, eax
mov eax, dword [ebp - 0xc]
lea edi, [edi + eax + 2]
push 0x4543dc
push ebx
call fcn.00428670
dec edi
pop ecx
pop ecx
jne 0x40bd35
cmp byte [esi + 0x1f4], 0
je 0x40bdc1
cmp word [ebp - 0x14e], 0
je 0x40bd9f
movzx eax, word [ebp - 0x14e]
push eax
movzx eax, word [ebp - 0x14c]
push eax
movzx eax, word [ebp - 0x148]
push eax
movzx eax, word [ebp - 0x142]
push eax
movzx eax, word [ebp - 0x144]
push eax
movzx eax, word [ebp - 0x146]
push eax
lea eax, [ebp - 0x12c]
push str._02d:_02d:_02d___02d._02d._04d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
jmp 0x40bdb2
lea eax, [ebp - 0x12c]
push str.never
push eax
call fcn.00428660
pop ecx
pop ecx
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.00428670
pop ecx
pop ecx
push 0x453e70
push ebx
call fcn.00428670
xor eax, eax
cmp dword [ebp - 0x24], eax
pop ecx
pop ecx
jne 0x40bdda
cmp dword [ebp + 0x10], eax
jne 0x40bdf1
push eax
lea eax, [ebp - 0x2c]
push eax
push ebx
call fcn.004279a0
pop ecx
push eax
push ebx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WriteFile]
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x18]
jb 0x40b6e1
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.0043be55
pop ecx
pop ebx
pop edi
pop esi
leave
ret 0xc