Function at 0x4064f0
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x72c
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 0x710], eax
and eax, 0x1f
cmp eax, 9
jbe 0x406521
sub esp, 0xc
push dword [0x433b84]
jmp 0x40751a
mov eax, dword [ebp - 0x70c]
sub esp, 0xc
mov ecx, 0xa4
mov ebx, dword [eax + 0x54]
push ebx
call fcn.00406306
add esp, 0x10
xor edx, edx
mov dword [ebp - 0x72c], eax
mov eax, dword [ebp - 0x70c]
mov esi, dword [eax + 0x58]
lea eax, [ebp - 0x6f4]
call fcn.00404b60
mov eax, dword [ebp - 0x70c]
mov ecx, 0xe8
mov dword [ebp - 0x690], ebx
mov dword [ebp - 0x68c], esi
mov edx, eax
mov dword [ebp - 0x654], eax
lea eax, [ebp - 0x650]
call fcn.00404b70
mov eax, dword [ebp - 0x70c]
push ecx
push ecx
push 0
push dword [eax + 0x3c]
call fcn.004165ad
pop esi
mov ebx, eax
pop edi
test eax, eax
jns 0x4065fa
mov eax, dword [ebp - 0x70c]
test byte [eax + 0x44], 0x1f
jne 0x4065b8
mov ecx, eax
push edx
push edx
push 0x190
push dword [0x433b68]
jmp 0x406634
mov eax, dword [ebp - 0x70c]
sub esp, 0xc
push dword [eax + 0x3c]
mov ecx, eax
call fcn.00404b86
add esp, 0xc
test eax, eax
js 0x4074ff
sub esp, 0xc
push dword [0x433b4c]
mov ecx, dword [ebp - 0x70c]
call fcn.00404b86
add esp, 0xc
test eax, eax
jns 0x4074f8
jmp 0x4074ff
push esi
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea eax, [eax + 0x818]
push edi
push eax
call fcn.0042d4e4
add esp, 0x10
mov dword [ebp - 0x724], eax
test eax, eax
jne 0x406640
push ebx
mov ecx, dword [ebp - 0x70c]
push ebx
push 0x190
push dword [0x433b28]
call fcn.0040b1ae
pop edx
pop ecx
jmp 0x407524
mov eax, dword [ebp - 0x724]
push edi
push esi
push dword [ebp - 0x724]
lea eax, [eax + esi + 0xc]
push ebx
mov dword [ebp - 0x710], eax
add eax, 0x200
mov dword [ebp - 0x720], eax
call fcn.00403603
push eax
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x724]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x730], eax
mov byte [eax], 0
mov eax, dword [ebp - 0x70c]
test byte [eax + 0x44], 0x1f
jne 0x4067a6
mov edi, dword [0x46d9a4]
mov edx, 0x194
cmp dword [eax + 0x3c], edi
mov eax, 0xc8
cmove eax, edx
push dword [0x42e598]
push eax
push 0x43fc18
push dword [ebp - 0x710]
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, eax
mov eax, dword [ebp - 0x70c]
add esp, 0x10
test byte [eax + 0x34], 8
je 0x406706
cmp esi, dword [0x438f68]
jbe 0x406706
mov ecx, eax
call fcn.004250b6
test eax, eax
je 0x406706
mov eax, dword [ebp - 0x710]
mov ecx, 0x24
mov edx, str.Content_Encoding:_gzip_r_n_r_n
lea eax, [eax + ebx - 2]
add ebx, 0x22
call fcn.00404b70
jmp 0x406710
mov eax, dword [ebp - 0x70c]
and dword [eax + 0x34], 0xfffffff7
test byte [0x46d982], 8
je 0x406764
mov eax, dword [ebp - 0x70c]
test byte [eax + 0x35], 2
jne 0x406764
mov eax, dword [ebp - 0x710]
sub ebx, 2
mov edx, 0x43f9d7
mov byte [eax + 7], 0x31
mov eax, dword [ebp - 0x70c]
cmp dword [eax + 0x6c], 0
mov eax, str.Connection:_Keep_Alive_r_n
push esi
cmove eax, edx
push eax
mov eax, dword [ebp - 0x710]
push str._sTransfer_Encoding:_chunked_r_n_r_n
add eax, ebx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add ebx, eax
add esp, 0x10
push eax
mov ecx, dword [ebp - 0x70c]
push eax
push ebx
push dword [ebp - 0x710]
call fcn.0042d768
pop edx
pop ecx
test eax, eax
js 0x4074ff
test byte [0x46d982], 8
je 0x4067a6
mov eax, dword [ebp - 0x70c]
mov eax, dword [eax + 0x34]
bt eax, 9
jb 0x4067a6
mov edi, dword [ebp - 0x70c]
or ah, 4
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x70c]
mov eax, dword [eax + 0x80]
test eax, eax
je 0x4067d3
mov edi, dword [ebp - 0x70c]
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x64c], 0x424c78
mov dword [edi + 4], 0x424c78
mov eax, dword [ebp - 0x72c]
mov esi, dword [ebp - 0x724]
mov dword [ebp - 0x728], eax
push edi
push edi
push 0x43fc69
push esi
call fcn.004034b9
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4074b4
cmp esi, eax
jne 0x40682f
lea eax, [ebx + 5]
push esi
push esi
push 0x43fc6f
push eax
mov dword [ebp - 0x714], eax
call fcn.004034b9
add esp, 0x10
mov dword [ebp - 0x71c], eax
test eax, eax
jne 0x406930
jmp 0x406916
push eax
mov ecx, dword [ebp - 0x70c]
push eax
mov eax, ebx
sub eax, esi
push eax
push esi
call fcn.0042d768
pop edx
pop ecx
test eax, eax
jns 0x406803
jmp 0x4074ff
mov eax, dword [ebx + 5]
mov edx, eax
and edx, 0xffffff
cmp edx, 0x206669
jne 0x407278
push ecx
push ecx
push str.expr_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x4074a3
sub esp, 0xc
add eax, 5
lea ecx, [ebp - 0x6f4]
push eax
call fcn.00405d62
add esp, 0xc
test eax, eax
jne 0x4074a3
mov eax, dword [ebp - 0x71c]
mov byte [eax], 0x2d
push str.____endif
push str.____if
push str.____endif
push eax
call fcn.00406485
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x407243
push str.____endif
push str.____if
push str.____el
push dword [ebp - 0x71c]
call fcn.00406485
add esp, 0x10
test eax, eax
je 0x4068ef
cmp ebx, eax
cmova ebx, eax
lea eax, [ebx + 7]
push edx
push edx
push 0x43fc6f
push eax
mov dword [ebp - 0x714], eax
call fcn.004034b9
add esp, 0x10
mov dword [ebp - 0x71c], eax
test eax, eax
jne 0x407267
sub esp, 0xc
push dword [ebp - 0x724]
call fcn.0042d4c8
pop eax
push dword [0x433aec]
jmp 0x407514
mov eax, dword [ebp - 0x71c]
mov byte [eax], 0
push eax
push eax
push str.fsize
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
mov dword [ebp - 0x718], 1
test eax, eax
jne 0x4069f6
push edi
push edi
push str.lastmod
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
test eax, eax
je 0x406985
mov dword [ebp - 0x718], 2
jmp 0x4069f6
lea eax, [ebx + 6]
push esi
push esi
push str.lastmod
push eax
call fcn.0042d500
add esp, 0x10
mov dword [ebp - 0x718], eax
test eax, eax
jne 0x406979
push ecx
push ecx
push str.include
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
test eax, eax
jne 0x4069f6
push edx
push edx
push str.exec
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
test eax, eax
jne 0x4069f6
push eax
push eax
push str.echo
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
test eax, eax
jne 0x40710d
jmp 0x40720d
push eax
push eax
push str.file_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x406a74
lea edi, [eax + 6]
mov byte [ebp - 0x318], 0
mov al, byte [edi]
cmp al, 0x2f
je 0x406baf
cmp al, 0x5c
je 0x406baf
push eax
push eax
mov eax, dword [ebp - 0x70c]
push 0x5c
push dword [eax + 0x3c]
call fcn.00403476
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x406bb1
mov eax, dword [ebp - 0x70c]
mov edx, dword [eax + 0x3c]
mov eax, ebx
sub eax, edx
lea esi, [eax + 1]
lea eax, [ebp - 0x318]
mov ecx, esi
call fcn.00404b70
mov byte [ebp + esi - 0x318], 0
jmp 0x406baf
push eax
push eax
push str.virtual_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
mov esi, eax
test eax, eax
je 0x406b1a
mov ebx, dword [0x46dcc0]
lea edi, [eax + 9]
test ebx, ebx
je 0x406af7
cmp byte [ebx + 9], 0x2f
jne 0x406af3
lea edx, [ebx + 9]
push eax
push eax
push edx
push edi
mov dword [ebp - 0x734], edx
call fcn.004034dd
add esp, 0x10
mov edx, dword [ebp - 0x734]
test eax, eax
je 0x406af3
sub esp, 0xc
mov dword [ebp - 0x734], eax
push edx
call fcn.0042d5c4
mov ecx, dword [ebp - 0x734]
mov edx, dword [ebx + 4]
lea edi, [ecx + eax]
lea eax, [ebp - 0x318]
call fcn.00404b48
add esp, 0x10
jmp 0x406bb1
mov ebx, dword [ebx]
jmp 0x406a9c
mov eax, dword [ebp - 0x70c]
mov edx, dword [eax + 0x5c]
lea eax, [ebp - 0x318]
call fcn.00404b48
cmp byte [esi + 9], 0x2f
jne 0x406a12
jmp 0x406bb1
push esi
push esi
push str.cgi_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
jne 0x406b65
push ebx
push ebx
push str.cmd_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
jne 0x406b65
sub esp, 0xc
push dword [0x433ad0]
mov ecx, dword [ebp - 0x70c]
call fcn.004040fa
jmp 0x407158
lea edi, [eax + 5]
mov eax, dword [0x42e4c0]
xor edx, edx
cmp byte [eax], 0x5c
sete dl
xor ebx, ebx
add eax, edx
push eax
mov eax, dword [ebp - 0x70c]
push dword [eax + 0x5c]
lea eax, [ebp - 0x318]
push 0x43f99b
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp byte [ebp + eax - 0x319], 0x5c
je 0x406bb1
mov dword [ebp + eax - 0x318], 0x5c
jmp 0x406bb1
xor ebx, ebx
push eax
lea ecx, [ebp - 0x6f4]
push eax
push edi
push dword [ebp - 0x710]
call fcn.00406154
pop edx
pop ecx
test eax, eax
jne 0x407149
mov esi, dword [ebp - 0x710]
cmp word [esi], 0x2e2e
jne 0x406c05
lea eax, [ebp - 0x318]
push edi
push edi
push 0x5c
push eax
call fcn.00403476
add esp, 0x10
test eax, eax
je 0x406e39
cmp byte [eax + 1], 0
mov byte [eax], 0
je 0x406bdc
add esi, 3
jmp 0x406bd5
test eax, eax
je 0x406c0e
mov word [eax], 0x2f
lea edi, [ebp - 0x318]
mov edx, 0xff
test edi, edi
je 0x406c39
test esi, esi
je 0x406c39
cld
mov ecx, 0xffffffff
xor al, al
repne scasb al, byte es:[edi]
dec edi
lea ecx, [edx + 1]
lodsb al, byte [esi]
stosb byte es:[edi], al
or al, al
loopne 0x406c2f
mov byte [edi - 1], 0
lea eax, [ebp - 0x318]
push esi
push esi
push 0x3f
push eax
call fcn.004033de
add esp, 0x10
test eax, eax
jne 0x406c5b
mov eax, dword [ebp - 0x70c]
mov esi, dword [eax + 0x48]
jmp 0x406c61
mov byte [eax], 0
lea esi, [eax + 1]
cmp dword [ebp - 0x718], 0
jne 0x406e82
mov eax, dword [ebp - 0x70c]
push ecx
push ecx
push str.QUERY_STRING
push dword [eax + 0x54]
call fcn.004062d7
add esp, 0x10
mov dword [ebp - 0x718], eax
mov eax, dword [ebp - 0x70c]
mov edi, dword [ebp - 0x718]
mov eax, dword [eax + 0x54]
lea edx, [edi*4]
cmp dword [eax + edi*4], 0
je 0x406cac
mov dword [eax + edx + 4], esi
lea eax, [ebp - 0x318]
sub esp, 0xc
mov dword [ebp - 0x608], esi
push eax
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5e0], 0
call fcn.00408826
add esp, 0x10
test eax, eax
je 0x406e39
test ebx, ebx
je 0x406cef
mov eax, dword [ebx + 4]
jmp 0x406cf8
mov eax, dword [ebp - 0x70c]
mov eax, dword [eax + 0x5c]
lea ebx, [ebp - 0x318]
push edx
push edx
push eax
push ebx
call fcn.00403494
add esp, 0x10
test eax, eax
je 0x406e39
push eax
push eax
push 5
push ebx
call fcn.00408970
mov edi, dword [ebp - 0x70c]
add esp, 0x10
mov dword [ebp - 0x718], eax
test al, 1
mov eax, dword [ebp - 0x70c]
mov edx, dword [edi + 0x34]
mov eax, dword [eax + 0x44]
je 0x406de6
or edx, 0x10
mov dword [ebp - 0x60c], eax
mov dword [ebp - 0x61c], edx
test byte [0x46d984], 2
je 0x406d91
push edi
push edi
push 0x43fcc2
push ebx
call fcn.004034dd
add esp, 0x10
test eax, eax
je 0x406d7d
sub esp, 0xc
or dword [ebp - 0x61c], 4
push dword [0x46d994]
jmp 0x406da5
push esi
push esi
push 0x43fcc7
push ebx
call fcn.004034dd
add esp, 0x10
test eax, eax
jne 0x406d6b
bt dword [ebp - 0x718], 0xf
jae 0x406db5
sub esp, 0xc
lea eax, [ebp - 0x318]
push eax
lea ecx, [ebp - 0x650]
call fcn.0042a0f8
add esp, 0xc
jmp 0x406e17
mov eax, dword [str..fcgi]
test eax, eax
je 0x406dd9
cmp byte [eax], 0
je 0x406dd9
push ebx
push ebx
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.004034dd
add esp, 0x10
test eax, eax
jne 0x406d9b
lea ecx, [ebp - 0x650]
call fcn.00407b96
jmp 0x406e17
inc eax
mov dword [ebp - 0x61c], edx
mov dword [ebp - 0x60c], eax
test dword [0x46d97c], 0x3000
je 0x406e0c
test byte [ebp - 0x718], 4
je 0x4074ff
lea ecx, [ebp - 0x650]
call fcn.004064f0
test eax, eax
je 0x4074ff
mov edi, dword [ebp - 0x70c]
mov eax, dword [ebp - 0x5dc]
add dword [edi + 0x74], eax
mov eax, dword [ebp - 0x5e0]
add dword [edi + 0x70], eax
jmp 0x406e50
sub esp, 0xc
push dword [0x433abc]
mov ecx, dword [ebp - 0x70c]
call fcn.00404b86
add esp, 0xc
mov eax, dword [ebp - 0x70c]
mov edi, dword [ebp - 0x718]
mov eax, dword [eax + 0x54]
lea edx, [edi*4]
cmp dword [eax + edi*4], 0
je 0x4074a3
mov edi, dword [ebp - 0x70c]
mov ecx, dword [edi + 0x48]
mov dword [eax + edx + 4], ecx
jmp 0x4074a3
lea eax, [ebp - 0x568]
lea ebx, [ebp - 0x318]
push ecx
push ecx
push eax
push ebx
call fcn.0041695f
add esp, 0x10
cmp eax, 0xffffffff
je 0x4074a3
sub esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
add esp, 0xc
cmp dword [ebp - 0x718], 1
jne 0x406f36
push edx
push edx
push 0x43fccc
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x406ee9
push eax
mov eax, dword [ebp - 0x548]
add eax, 0x200
shr eax, 0xa
push eax
push 0x43fcd0
jmp 0x406f25
push eax
push eax
push 0x43fcd4
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x406f19
push eax
mov eax, dword [ebp - 0x548]
add eax, 0x80000
shr eax, 0x14
push eax
push 0x43fcd8
jmp 0x406f25
push eax
push dword [ebp - 0x548]
push 0x43f94c
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, eax
add esp, 0x10
jmp 0x4070fe
push eax
push eax
lea eax, [ebp - 0x704]
push eax
lea eax, [ebp - 0x554]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push str._format_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x4070bd
lea esi, [eax + 9]
xor ebx, ebx
mov dl, byte [esi]
cmp dl, 0x22
je 0x4070fe
cmp dl, 0x79
jg case.0x406fda.1
cmp dl, 0x58
jg 0x406fcc
cmp dl, 0x47
je 0x40706e
mov eax, 0x43fc12
cmp dl, 0x48
je 0x407073
cmp dl, 0x41
jne case.0x406fda.1
cmp word [ebp - 0x6fc], 0xc
mov al, 0x50
cmovae edx, eax
lea eax, [ebx + 1]
mov byte [ebp + ebx - 0x318], dl
add ebx, 2
mov byte [ebp + eax - 0x318], 0x4d
jmp 0x4070b1
lea eax, [edx - 0x59]
cmp al, 0x20
ja case.0x406fda.1
movzx eax, al
jmp dword [eax*4 + 0x43fd44]
cmp word [ebp - 0x6fc], 0xc
mov al, 0x70
cmovae edx, eax
lea eax, [ebx + 1]
mov byte [ebp + ebx - 0x318], dl
add ebx, 2
mov byte [ebp + eax - 0x318], 0x6d
jmp 0x4070b1
mov eax, 0x43f94c
jmp 0x407014
mov eax, 0x43fc12
movzx edx, word [ebp - 0x6fe]
jmp 0x407091
mov eax, 0x43f94c
jmp 0x407029
mov eax, 0x43fc12
movzx edx, word [ebp - 0x702]
jmp 0x407091
movzx edx, word [ebp - 0x704]
jmp 0x40708c
mov eax, dword [ebp - 0x704]
mov ecx, 0x64
xor edx, edx
div cx
movzx edx, dx
jmp 0x40708c
mov eax, 0x43f94c
jmp 0x40705c
mov eax, 0x43fc12
movzx edx, word [ebp - 0x6fc]
cmp dx, 0xc
jbe 0x407091
sub edx, 0xc
jmp 0x407091
mov eax, 0x43f94c
movzx edx, word [ebp - 0x6fc]
jmp 0x407091
movzx edx, word [ebp - 0x6fa]
jmp 0x40708c
movzx edx, word [ebp - 0x6f8]
mov eax, 0x43fc12
push edi
push edx
push eax
lea eax, [ebp + ebx - 0x318]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add ebx, eax
add esp, 0x10
jmp 0x4070b1
mov byte [ebp + ebx - 0x318], dl
inc ebx
inc esi
cmp ebx, 0x7f
jle 0x406f6c
jmp 0x4070fe
movzx eax, word [ebp - 0x6f8]
push eax
movzx eax, word [ebp - 0x6fa]
push eax
movzx eax, word [ebp - 0x6fc]
push eax
movzx eax, word [ebp - 0x704]
push eax
movzx eax, word [ebp - 0x702]
push eax
movzx eax, word [ebp - 0x6fe]
push eax
push str._2.2u__2.2u__2.2u__2.2u:_2.2u:_2.2u
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, eax
add esp, 0x20
lea eax, [ebp - 0x318]
push esi
push esi
push ebx
push eax
jmp 0x4071fb
push ebx
push ebx
push str.var_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4074a3
lea ebx, [eax + 5]
push eax
lea ecx, [ebp - 0x6f4]
push eax
push ebx
push dword [ebp - 0x710]
call fcn.00406154
pop edx
pop ecx
test eax, eax
je 0x407160
sub esp, 0xc
push eax
mov ecx, dword [ebp - 0x70c]
call fcn.00404b86
add esp, 0xc
jmp 0x4074a3
push eax
push eax
push 0x24
push ebx
call fcn.00404c10
mov ebx, dword [ebp - 0x710]
add esp, 0x10
test eax, eax
jne 0x4071e3
push eax
push eax
mov eax, dword [ebp - 0x70c]
push ebx
push dword [eax + 0x54]
call fcn.00405368
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4071e3
mov eax, dword [ebp - 0x70c]
push edi
push edi
push dword [ebp - 0x710]
push dword [eax + 0x58]
call fcn.00405368
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4071e3
mov eax, dword [ebp - 0x710]
cmp dword [eax + 1], 0x5f505454
je 0x4071c6
mov ebx, str.undefined
jmp 0x4071e3
mov eax, dword [ebp - 0x70c]
add esi, 0xa
push ebx
push ebx
push esi
push dword [eax + 0x54]
call fcn.00405368
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4071bf
sub esp, 0xc
push ebx
call fcn.0042d5c4
add esp, 0x10
test eax, eax
je 0x4074a3
push ecx
push ecx
push eax
push ebx
mov ecx, dword [ebp - 0x70c]
call fcn.0042d768
pop edi
pop edx
jmp 0x4072c8
push esi
push esi
push str.printenv
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
test eax, eax
je 0x40684d
sub esp, 0xc
push dword [ebp - 0x70c]
lea ecx, [ebp - 0x6f4]
call fcn.004061d0
jmp 0x407158
sub esp, 0xc
push dword [0x433aa0]
mov ecx, dword [ebp - 0x70c]
call fcn.00404b86
add esp, 0xc
test eax, eax
jns 0x4074d1
jmp 0x4074ff
cmp word [ebx + 7], 0x6669
je 0x406864
jmp 0x4074a3
cmp byte [ebx + 9], 0x20
jne 0x4072f8
cmp eax, 0x65736c65
je 0x40728c
cmp eax, 0x66696c65
jne 0x4072f8
mov eax, dword [ebp - 0x71c]
mov byte [eax], 0x2d
push str.____endif
push str.____if
push str.____endif
push eax
call fcn.00406485
add esp, 0x10
test eax, eax
jne 0x4072d5
sub esp, 0xc
push dword [0x433aa0]
mov ecx, dword [ebp - 0x70c]
call fcn.00404b86
add esp, 0xc
test eax, eax
jns 0x4074a3
jmp 0x4074ff
push edi
push edi
push 0x43fc6f
push eax
call fcn.004034b9
add esp, 0x10
mov dword [ebp - 0x71c], eax
test eax, eax
jne 0x4074a3
jmp 0x406916
cmp eax, 0x20746573
jne 0x40748a
push esi
push esi
push str.var_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x4074a3
add eax, 5
push edx
lea ecx, [ebp - 0x6f4]
push edx
push eax
push dword [ebp - 0x710]
call fcn.00406154
pop ecx
pop ebx
test eax, eax
jne 0x407149
mov eax, dword [ebp - 0x70c]
push edi
push edi
push dword [ebp - 0x710]
push dword [eax + 0x54]
call fcn.004062d7
add esp, 0x10
mov esi, eax
lea ebx, [eax*4]
mov eax, dword [ebp - 0x70c]
mov eax, dword [eax + 0x54]
cmp dword [eax + esi*4], 0
jne 0x4073fe
cmp esi, 0x38
jg 0x4073f0
sub esp, 0xc
push dword [ebp - 0x710]
call fcn.0042d5c4
mov edi, dword [ebp - 0x720]
add esp, 0x10
lea ecx, [edi + eax]
mov eax, dword [ebp - 0x710]
add eax, 0x600
cmp ecx, eax
jae 0x4073f0
mov eax, dword [ebp - 0x70c]
mov edx, dword [ebp - 0x710]
mov eax, dword [eax + 0x54]
mov dword [eax + esi*4], edi
mov eax, edi
call fcn.00404b48
lea eax, [ecx + 1]
mov edi, dword [ebp - 0x728]
add dword [ebp - 0x728], 2
mov dword [ebp - 0x720], eax
mov eax, dword [ebp - 0x70c]
lea edx, [edi + 1]
mov eax, dword [eax + 0x54]
mov dword [eax + edx*4], 0
mov dword [eax + edx*4 + 4], 0
jmp 0x4073fe
sub esp, 0xc
push dword [0x433a88]
jmp 0x40714d
push esi
push esi
push str.value_
push dword [ebp - 0x714]
call fcn.004034b9
add esp, 0x10
test eax, eax
je 0x4074a3
add eax, 7
push edi
lea ecx, [ebp - 0x6f4]
push edi
push eax
push dword [ebp - 0x710]
call fcn.00406154
pop edx
pop ecx
test eax, eax
jne 0x407149
sub esp, 0xc
push dword [ebp - 0x710]
call fcn.0042d5c4
mov edi, dword [ebp - 0x720]
add esp, 0x10
lea ecx, [edi + eax]
mov eax, dword [ebp - 0x710]
add eax, 0x600
cmp ecx, eax
jae 0x4073f0
mov eax, dword [ebp - 0x70c]
mov edx, dword [ebp - 0x710]
mov eax, dword [eax + 0x54]
mov dword [eax + ebx + 4], edi
mov eax, edi
call fcn.00404b48
lea eax, [ecx + 1]
mov dword [ebp - 0x720], eax
jmp 0x4074a3
push esi
push esi
push str.break
push dword [ebp - 0x714]
call fcn.0042d500
add esp, 0x10
test eax, eax
jne 0x4074d1
mov eax, dword [ebp - 0x71c]
mov byte [eax], 0x2d
lea esi, [eax + 3]
jmp 0x4067e5
mov eax, dword [ebp - 0x730]
sub eax, esi
test eax, eax
jle 0x4074d1
push edx
mov ecx, dword [ebp - 0x70c]
push edx
push eax
push esi
call fcn.0042d768
pop ecx
pop ebx
sub esp, 0xc
push dword [ebp - 0x724]
call fcn.0042d4c8
mov eax, dword [ebp - 0x70c]
mov edi, dword [ebp - 0x72c]
add esp, 0x10
mov eax, dword [eax + 0x54]
mov dword [eax + edi*4], 0
mov eax, 1
jmp 0x407524
sub esp, 0xc
push dword [ebp - 0x724]
call fcn.0042d4c8
mov dword [esp], str.Connection_reset_by_peer...
mov ecx, dword [ebp - 0x70c]
call fcn.004040fa
xor eax, eax
add esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret