Function at 0x5938b0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60a619
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebx
push esi
push edi
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x54], esi
mov word [ebp - 0x58], si
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
mov word [ebp - 0x1c], si
mov edx, dword [ebx + 0xe4]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 2
je 0x593942
push esi
push edx
lea ecx, [ebp - 0x20]
call fcn.00402880
mov al, byte [ebx + 0x315]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0xe4]
push eax
neg al
push 1
push edx
sbb eax, eax
lea edx, [ebp - 0x20]
and eax, 0xfde9
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00593880
jmp 0x595ec7
mov eax, dword [0x6c826c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebx + 0x28]
push 0x6a0454
push ecx
mov byte [ebp - 4], 3
call fcn.005c3010
add esp, 8
test eax, eax
je 0x593e10
mov edx, dword [ebx + 0x28]
push 0x3d
push edx
call fcn.005c3ed0
mov edi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x50], edi
call fcn.005c3ed0
mov ecx, dword [ebx + 0x28]
mov esi, eax
push 0x2f
push ecx
mov dword [ebp - 0x4c], esi
call fcn.005c3ed0
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x26], 0
jbe 0x593b5f
cmp edi, eax
jbe 0x593b5f
lea edx, [edi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593d36
push edx
lea ecx, [ebp - 0x2c]
call fcn.005df6df
mov edx, dword [ebp - 0x2c]
push 0x2e
push edx
call fcn.005c3ed0
add esp, 8
mov dword [ebp - 0x68], eax
test eax, eax
je 0x593b5f
cmp eax, dword [ebp - 0x2c]
je 0x593b5f
mov eax, dword [0x6c826c]
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebx + 0x28]
lea edx, [ebp - 0x24]
push ecx
push 0x69dfbc
push edx
mov byte [ebp - 4], 4
call fcn.005d838b
mov eax, dword [ebp - 0x24]
add esp, 0xc
push 0x3f
push eax
call fcn.005c2f50
add esp, 8
test eax, eax
je 0x593a26
mov byte [eax], 0
mov ecx, dword [ebp - 0x24]
push 0x2e
push ecx
call fcn.005c3ed0
mov esi, eax
add esp, 8
test esi, esi
mov dword [ebp - 0x60], esi
je 0x593aaa
inc esi
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x60], esi
je 0x593aaa
mov edx, dword [0x6c826c]
mov dword [ebp - 0x14], edx
push esi
lea eax, [ebp - 0x14]
push 0x69dfbc
push eax
mov byte [ebp - 4], 5
call fcn.005d838b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005df99e
mov ecx, dword [ebp - 0x14]
push ecx
push str.3GP_7Z_AAC_ACE_AIF_ARJ_ASF_AVI_BIN_BZ2_EXE_GZ_GZIP_IMG_ISO_LZH_M4A_M4V_MKV_MOV_MP3_MP4_MPA_MPE_MPEG_MPG_MSI_MSU_OGG_OGV_PDF_PLJ_PPS_PPT_QT_R0_R1_RA_RAR_RM_RMVB_SEA_SIT_SITX_TAR_TIF_TIFF_WAV_WMA_WMV_Z_ZIP
call fcn.005c3010
add esp, 8
test eax, eax
je 0x593a9e
push 0x2a
push esi
call fcn.005c2f50
add esp, 8
test eax, eax
jne 0x593a9e
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.005df556
mov esi, dword [ebp - 0x68]
or ecx, 0xffffffff
inc esi
xor eax, eax
mov dword [ebp - 0x68], esi
mov esi, dword [ebx + 0xec]
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x593adb
mov esi, dword [ebx + 0xdc]
test esi, esi
je 0x593b2e
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593b2e
test esi, esi
je 0x593b2e
mov al, byte [ebp - 0x25]
test al, al
je 0x593af9
mov edx, dword [ebp - 0x60]
mov ecx, 0x6ccd90
push edx
push esi
call fcn.0042cfb0
test eax, eax
jne 0x593b35
mov ecx, dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x60]
call fcn.005df5c4
mov edx, dword [ebp - 0x60]
mov ecx, 0x6ccd90
push edx
push esi
mov byte [ebp - 4], 6
call fcn.0042cfb0
test eax, eax
je 0x593b20
mov byte [ebp - 0x26], 1
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 4
call fcn.005df556
jmp 0x593b45
mov al, byte [ebp - 0x25]
test al, al
je 0x593b41
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005df68f
mov byte [ebp - 0x26], 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005df556
mov al, byte [ebp - 0x26]
test al, al
jne 0x593d9e
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
cmp eax, ecx
jbe 0x593d56
cmp eax, dword [ebp - 0x64]
jbe 0x593d56
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x50], edx
je 0x593d36
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x25], al
mov byte [ebp - 0x26], al
call fcn.005df6df
mov ecx, dword [ebp - 0x2c]
push 0x2e
push ecx
call fcn.005c3ed0
add esp, 8
mov dword [ebp - 0x68], eax
test eax, eax
je 0x593d9e
mov edx, dword [0x6c826c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 7
mov ecx, dword [eax + 0x28]
push ecx
push 0x69dfbc
push edx
call fcn.005d838b
mov eax, dword [ebp - 0x24]
add esp, 0xc
push 0x3f
push eax
call fcn.005c2f50
add esp, 8
test eax, eax
je 0x593bf0
mov byte [eax], 0
mov ecx, dword [ebp - 0x24]
push 0x2e
push ecx
call fcn.005c3ed0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x593c6e
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593c6e
mov edx, dword [0x6c826c]
mov dword [ebp - 0x14], edx
push ebx
lea eax, [ebp - 0x14]
push 0x69dfbc
push eax
mov byte [ebp - 4], 8
call fcn.005d838b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005df99e
mov ecx, dword [ebp - 0x14]
push ecx
push str.3GP_7Z_AAC_ACE_AIF_ARJ_ASF_AVI_BIN_BZ2_EXE_GZ_GZIP_IMG_ISO_LZH_M4A_M4V_MKV_MOV_MP3_MP4_MPA_MPE_MPEG_MPG_MSI_MSU_OGG_OGV_PDF_PLJ_PPS_PPT_QT_R0_R1_RA_RAR_RM_RMVB_SEA_SIT_SITX_TAR_TIF_TIFF_WAV_WMA_WMV_Z_ZIP
call fcn.005c3010
add esp, 8
test eax, eax
je 0x593c62
push 0x2a
push ebx
call fcn.005c2f50
add esp, 8
test eax, eax
jne 0x593c62
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.005df556
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x30]
inc eax
or ecx, 0xffffffff
mov esi, dword [edx + 0xec]
mov dword [ebp - 0x68], eax
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x593ca6
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x593d21
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593d21
test esi, esi
je 0x593d21
mov al, byte [ebp - 0x25]
test al, al
je 0x593ccf
push ebx
push esi
mov ecx, 0x6ccd90
call fcn.0042cfb0
test eax, eax
je 0x593ccf
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005df68f
jmp 0x593d13
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x4c]
push eax
call fcn.005df5c4
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
push ecx
push esi
mov ecx, 0x6ccd90
call fcn.0042cfb0
test eax, eax
mov bl, 1
jne 0x593cf7
mov bl, byte [ebp - 0x26]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.005df556
test bl, bl
jne 0x593d13
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005df6df
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005df556
jmp 0x593d9e
mov al, byte [ebp - 0x25]
test al, al
je 0x593d13
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005df68f
jmp 0x593d13
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005df6df
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005c2f50
add esp, 8
test eax, eax
je 0x593d9e
jmp 0x593d9b
test eax, eax
jne 0x593d7d
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x593d7d
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593d7d
push edx
lea ecx, [ebp - 0x2c]
call fcn.005df6df
jmp 0x593d9e
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005df6df
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005c2f50
add esp, 8
test eax, eax
je 0x593d9e
mov byte [eax], 0
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x5c]
mov esi, dword [eax + 0x168]
call fcn.00401070
test ebx, ebx
je 0x593e7f
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593e7f
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push esi
call edi
test eax, eax
mov dword [ebp - 0x54], eax
je 0x593e7f
lea ecx, [eax + eax + 2]
push ecx
call fcn.005db95d
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x593e86
mov edx, dword [ebp - 0x54]
push edx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x54], eax
jmp 0x593e7f
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x5c]
mov esi, dword [eax + 0x168]
mov ebx, dword [eax + 0x28]
call fcn.00401070
test ebx, ebx
je 0x593e70
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593e70
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push esi
call edi
test eax, eax
mov dword [ebp - 0x54], eax
je 0x593e70
lea eax, [eax + eax + 2]
push eax
call fcn.005db95d
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x593e70
mov ecx, dword [ebp - 0x54]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x30]
lea ecx, [ebp - 0x2c]
mov eax, dword [edx + 0x28]
push eax
call fcn.005df6df
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593e89
lea eax, [ebp - 0x58]
push eax
call fcn.005c2f1a
add esp, 4
cmp eax, 0x7d0
jae 0x593eb8
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x5c]
push edx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x168]
push eax
push edx
call fcn.00593880
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593ec2
lea eax, [ebp - 0x58]
push 0x3d
push eax
call fcn.005c2e6a
mov ebx, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x593ed9
lea eax, [ebp - 0x58]
push 0x3f
push eax
call fcn.005c2e6a
mov edi, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x593ef0
lea eax, [ebp - 0x58]
push 0x2f
push eax
call fcn.005c2e6a
add esp, 8
cmp edi, ebx
jae 0x593f0b
cmp ebx, eax
jbe 0x593f09
add ebx, 2
push ebx
jmp 0x593f1f
cmp edi, ebx
jbe 0x593f17
cmp edi, eax
jbe 0x593f17
add edi, 2
push edi
jmp 0x593f1f
test eax, eax
je 0x593f27
add eax, 2
push eax
lea ecx, [ebp - 0x5c]
call fcn.00401f50
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593f31
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401f50
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593f44
lea eax, [ebp - 0x58]
push eax
call fcn.005c2f1a
add esp, 4
test eax, eax
jne 0x5941fe
mov esi, dword [ebp - 0x30]
mov ebx, 1
mov edx, dword [esi + 0x24]
test edx, edx
je 0x594084
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebx
jbe 0x594084
mov eax, dword [0x6c826c]
mov dword [ebp - 0x24], eax
push edx
lea ecx, [ebp - 0x24]
push 0x69dfbc
push ecx
mov byte [ebp - 4], 0xa
call fcn.005d838b
mov edx, dword [ebp - 0x24]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], 0x2f
jne 0x593fbd
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x24]
call fcn.005df9c2
mov edx, dword [ebp - 0x24]
push 0x2f
push edx
call fcn.005c3ed0
add esp, 8
test eax, eax
je 0x594070
inc eax
push 0
push eax
lea ecx, [ebp - 0x20]
call fcn.00402880
mov edx, 0x6a5bf8
test edx, edx
je 0x59406e
push edx
call fcn.005c2f1a
add esp, 4
test eax, eax
je 0x59406e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x59400a
push eax
call fcn.005c2f1a
add esp, 4
mov edi, eax
jmp 0x59400c
xor edi, edi
push 0x6a5bf8
call fcn.005c2f1a
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005db95d
mov edi, eax
add esp, 8
test edi, edi
je 0x59406e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x594049
push eax
push edi
call fcn.005c30ba
push 0x6a5bf8
push edi
call fcn.005c3090
add esp, 0x10
jmp 0x594057
push 0x6a5bf8
push edi
call fcn.005c30ba
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.00401070
push edi
mov dword [ebp - 0x20], edi
call fcn.005c2f1a
add esp, 4
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005df556
test ebx, ebx
je 0x5941da
mov eax, dword [esi + 0x20]
test eax, eax
je 0x5941da
xor esi, esi
lea ecx, [ebp - 0x48]
push esi
push eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
call fcn.00402880
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xb
cmp eax, esi
jne 0x5940b3
lea eax, [ebp - 0x44]
push 0x2e
push eax
call fcn.005c2e6a
add esp, 8
cmp eax, esi
je 0x5941ce
xor esi, esi
mov word [eax], si
mov edi, dword [ebp - 0x48]
cmp edi, esi
je 0x5940f9
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5940f2
cmp word [edi], 0x2e
jne 0x5940ed
mov word [edi], 0x5f
add edi, 2
jmp 0x5940de
mov eax, dword [ebp - 0x48]
cmp eax, esi
jne 0x5940fc
lea eax, [ebp - 0x44]
mov ecx, str._s_default.html
test ecx, ecx
je 0x5941ce
cmp eax, esi
je 0x5941ce
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00401f50
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.00401070
push str._s_default.html
lea ecx, [ebp - 0x98]
call fcn.00401ec0
mov edi, dword [ebp - 0x90]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call fcn.00401f40
push eax
call fcn.005c2f1a
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005db95d
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x20], edx
je 0x5941b3
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
lea ecx, [ebp - 0x98]
call fcn.00401f40
push eax
mov eax, dword [ebp - 0x20]
push ebx
push eax
call fcn.005c2eaa
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0x14
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xc
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5941e4
lea eax, [ebp - 0x1c]
push eax
call fcn.005c2f1a
add esp, 4
test eax, eax
jne 0x5941fe
push str.default.html
lea ecx, [ebp - 0x20]
call fcn.00401f50
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x59422a
push eax
mov edi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594227
cmp word [edi], 0x3a
jne 0x594222
mov word [edi], 0x2d
add edi, 2
jmp 0x594213
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x59425e
test eax, eax
je 0x594385
push eax
mov edi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x59425b
cmp word [edi], 0x2a
jne 0x594256
mov word [edi], 0x2d
add edi, 2
jmp 0x594247
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x594385
push eax
mov edi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594288
cmp word [edi], 0x3f
jne 0x594283
mov word [edi], 0x2d
add edi, 2
jmp 0x594274
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594385
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5942b3
cmp word [edi], 0x7c
jne 0x5942ae
mov word [edi], 0x2d
add edi, 2
jmp 0x59429f
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594385
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5942de
cmp word [edi], 0x3c
jne 0x5942d9
mov word [edi], 0x2d
add edi, 2
jmp 0x5942ca
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594385
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594309
cmp word [edi], 0x3e
jne 0x594304
mov word [edi], 0x2d
add edi, 2
jmp 0x5942f5
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594385
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594330
cmp word [edi], 0x22
jne 0x59432b
mov word [edi], 0x2d
add edi, 2
jmp 0x59431c
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594385
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594357
cmp word [edi], 0x25
jne 0x594352
mov word [edi], 0x2d
add edi, 2
jmp 0x594343
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594385
push edi
call fcn.005c2f1a
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x59437e
cmp word [edi], 0x5c
jne 0x594379
mov word [edi], 0x2d
add edi, 2
jmp 0x59436a
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x594388
lea edi, [ebp - 0x1c]
push edi
call fcn.005c2f1a
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5943a7
cmp word [edi + ecx*2], 0x20
jae 0x5943a4
mov word [edi + ecx*2], 0x2d
inc ecx
jmp 0x594393
mov eax, dword [0x6cce54]
test eax, eax
jne 0x594d42
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5943be
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005c338f
add esp, 8
test eax, eax
jne 0x5943f0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5943da
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x594966
mov edx, 0x6a1c24
test edx, edx
je 0x5945c2
mov eax, 0x6cc7bc
test eax, eax
je 0x5945c2
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x5945c2
mov ecx, dword [ebp - 0x20]
push 0x6a1c24
push ecx
call fcn.005c3775
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x594455
push 0x6a1c24
inc ebx
call fcn.005c2f1a
lea eax, [edi + eax*2]
push 0x6a1c24
push eax
call fcn.005c3775
add esp, 0xc
mov edi, eax
jmp 0x594431
test ebx, ebx
je 0x5945c2
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], eax
mov word [ebp - 0x44], ax
call fcn.00401f50
push 0x6a1c24
mov byte [ebp - 4], 0xe
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x5944e6
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c24
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov edi, eax
call fcn.005c2f1a
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5944e9
jmp 0x5945b6
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00401f40
push 0x6a1c24
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x594579
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c24
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x14]
push 0x6a1c24
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 0x14
jmp 0x594502
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x6a1c20
test edx, edx
je 0x594794
mov eax, 0x6cc7bc
test eax, eax
je 0x594794
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x594794
mov ecx, dword [ebp - 0x20]
push 0x6a1c20
push ecx
call fcn.005c3775
add esp, 8
xor esi, esi
mov edi, eax
xor ebx, ebx
cmp edi, esi
je 0x594629
push 0x6a1c20
inc ebx
call fcn.005c2f1a
lea eax, [edi + eax*2]
push 0x6a1c20
push eax
call fcn.005c3775
add esp, 0xc
mov edi, eax
jmp 0x594605
cmp ebx, esi
je 0x594794
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
push edx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], si
call fcn.00401f50
push 0x6a1c20
mov byte [ebp - 4], 0xf
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x5946b8
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c20
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov edi, eax
call fcn.005c2f1a
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5946bb
jmp 0x594788
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00401f40
push 0x6a1c20
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x59474b
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c20
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x14]
push 0x6a1c20
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 0x14
jmp 0x5946d4
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x6a1c1c
test edx, edx
je 0x594966
mov eax, 0x6cc7bc
test eax, eax
je 0x594966
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x594966
mov ecx, dword [ebp - 0x20]
push 0x6a1c1c
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5947f9
push 0x6a1c1c
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c1c
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x5947d5
test edi, edi
je 0x594966
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], eax
mov word [ebp - 0x44], ax
call fcn.00401f50
push 0x6a1c1c
mov byte [ebp - 4], 0x10
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x59488a
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c1c
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x59488d
jmp 0x59495a
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00401f40
push 0x6a1c1c
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x59491d
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c1c
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x14]
push 0x6a1c1c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 0x14
jmp 0x5948a6
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x594970
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x594b54
mov edx, 0x6a1c18
test edx, edx
je 0x594b54
mov eax, 0x6cc7bc
test eax, eax
je 0x594b54
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x594b54
mov ecx, dword [ebp - 0x20]
push 0x6a1c18
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5949eb
push 0x6a1c18
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c18
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x5949c7
test edi, edi
je 0x594b54
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d680
push 0x6a1c18
mov byte [ebp - 4], 0x11
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x594a78
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x594a32
lea esi, [ebp - 0x38]
push 0x6a1c18
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x50], edx
call fcn.005c2f1a
mov ecx, dword [ebp - 0x50]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x594a7b
jmp 0x594b48
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c18
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x594b0b
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c18
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x14]
push 0x6a1c18
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 0x14
jmp 0x594a94
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x594b5e
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x594d42
mov edx, 0x6a1c14
test edx, edx
je 0x594d42
mov eax, 0x6cc7bc
test eax, eax
je 0x594d42
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x594d42
mov ecx, dword [ebp - 0x20]
push 0x6a1c14
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x594bd9
push 0x6a1c14
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c14
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x594bb5
test edi, edi
je 0x594d42
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d680
push 0x6a1c14
mov byte [ebp - 4], 0x12
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x594c66
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x594c20
lea esi, [ebp - 0x38]
push 0x6a1c14
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x50], edx
call fcn.005c2f1a
mov ecx, dword [ebp - 0x50]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x594c69
jmp 0x594d36
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c14
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x594cf9
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c14
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp - 0x14]
push 0x6a1c14
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3775
add esp, 0x14
jmp 0x594c82
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.00401070
mov edi, dword [ebp - 0x30]
push 0x3f
mov edx, dword [edi + 0x28]
push edx
call fcn.005c2f50
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.005c2f50
mov ebx, eax
mov eax, dword [ebp - 0x20]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x4c], ebx
jne 0x594d71
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x78], edi
mov word [ebp - 0x7c], di
call fcn.00401f50
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 0x13
cmp eax, edi
jne 0x594d92
lea eax, [ebp - 0x7c]
push 0x2e
push eax
call fcn.005c2e6a
mov edi, eax
add esp, 8
test edi, edi
je 0x594dba
mov word [edi], 0
add edi, 2
push edi
call fcn.005c2f1a
add esp, 4
test eax, eax
jne 0x594dba
xor edi, edi
test esi, esi
je 0x595d74
test ebx, ebx
je 0x595ce1
cmp ebx, esi
ja 0x595ce1
mov ecx, dword [ebp - 0x4c]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x595ce1
test edi, edi
jne 0x595d74
mov edx, dword [ebp - 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [edx + 0x28]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x595b24
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005db95d
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x60], ebx
je 0x595d74
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x30]
mov ecx, esi
mov eax, dword [eax + 0x28]
sub ecx, eax
push ecx
push eax
push ebx
call fcn.005c3470
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402880
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x30]
push 0
push 1
push edx
mov edx, dword [ecx + 0x168]
lea eax, [ebp - 0x20]
push eax
push edx
push ebx
call fcn.00593880
push 0x2e
push ebx
call fcn.005c3ed0
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0x4c], edi
je 0x595d6b
push str..asp
push edi
call fcn.005c43d0
add esp, 8
test eax, eax
je 0x594ecf
push str..jsp
push edi
call fcn.005c43d0
add esp, 8
test eax, eax
je 0x594ecf
push str..cgi
push edi
call fcn.005c43d0
add esp, 8
test eax, eax
je 0x594ecf
push str..php
push edi
call fcn.005c43d0
add esp, 8
test eax, eax
jne 0x595d6b
mov edi, dword [ebp - 0x30]
push 0x3d
mov eax, dword [edi + 0x28]
push eax
call fcn.005c3ed0
mov edi, dword [edi + 0x28]
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
mov dword [ebp - 0x50], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, esi
jbe 0x595d6b
mov eax, dword [ebp - 0x50]
cmp byte [ecx + eax - 1], 0x2e
je 0x595d6b
inc edx
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xa
jle 0x594f1e
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov ecx, dword [0x6c826c]
mov dword [ebp - 0x64], ecx
inc eax
mov byte [ebp - 4], 0x14
push eax
push edx
push ebx
lea edx, [ebp - 0x64]
push str._s__s._s
push edx
call fcn.005d838b
mov eax, dword [ebp - 0x64]
add esp, 0x14
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.00402880
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x594f80
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594f7d
cmp word [esi], 0x3a
jne 0x594f78
mov word [esi], 0x2d
add esi, 2
jmp 0x594f69
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x594fb4
test eax, eax
je 0x595187
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594fb1
cmp word [esi], 0x2a
jne 0x594fac
mov word [esi], 0x2d
add esi, 2
jmp 0x594f9d
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x595187
push eax
mov esi, eax
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594fde
cmp word [esi], 0x3f
jne 0x594fd9
mov word [esi], 0x2d
add esi, 2
jmp 0x594fca
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x595009
cmp word [esi], 0x7c
jne 0x595004
mov word [esi], 0x2d
add esi, 2
jmp 0x594ff5
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x595034
cmp word [esi], 0x3c
jne 0x59502f
mov word [esi], 0x2d
add esi, 2
jmp 0x595020
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x59505f
cmp word [esi], 0x3e
jne 0x59505a
mov word [esi], 0x2d
add esi, 2
jmp 0x59504b
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x59508a
cmp word [esi], 0x22
jne 0x595085
mov word [esi], 0x2d
add esi, 2
jmp 0x595076
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5950b5
cmp word [esi], 0x25
jne 0x5950b0
mov word [esi], 0x2d
add esi, 2
jmp 0x5950a1
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5950e0
cmp word [esi], 0x5c
jne 0x5950db
mov word [esi], 0x2d
add esi, 2
jmp 0x5950cc
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x59510b
cmp word [esi], 0x2f
jne 0x595106
mov word [esi], 0x5f
add esi, 2
jmp 0x5950f7
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x595132
cmp word [esi], 0x27
jne 0x59512d
mov word [esi], 0x5f
add esi, 2
jmp 0x59511e
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x595159
cmp word [esi], 0x2c
jne 0x595154
mov word [esi], 0x5f
add esi, 2
jmp 0x595145
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x595187
push esi
call fcn.005c2f1a
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x595180
cmp word [esi], 0x3b
jne 0x59517b
mov word [esi], 0x5f
add esi, 2
jmp 0x59516c
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x59518a
lea esi, [ebp - 0x1c]
push esi
call fcn.005c2f1a
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5951a9
cmp word [esi + ecx*2], 0x20
jae 0x5951a6
mov word [esi + ecx*2], 0x2d
inc ecx
jmp 0x595195
mov eax, dword [0x6cce54]
test eax, eax
jne 0x595b10
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5951c0
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005c338f
add esp, 8
test eax, eax
jne 0x5951f2
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5951dc
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x595744
mov ecx, 0x6a1c24
test ecx, ecx
je 0x5953b8
mov edx, 0x6cc7bc
test edx, edx
je 0x5953b8
push edx
push ecx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x5953b8
mov eax, dword [ebp - 0x20]
push 0x6a1c24
push eax
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x595257
push 0x6a1c24
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c24
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x595233
test edi, edi
je 0x5953b8
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0040d680
push 0x6a1c24
mov byte [ebp - 4], 0x15
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x5952dc
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c24
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea edx, [esi + esi + 2]
push edx
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5952df
jmp 0x5953ac
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c24
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x59536f
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c24
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp + 0x10]
push 0x6a1c24
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 0x14
jmp 0x5952f8
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edx, 0x6a1c20
test edx, edx
je 0x59557e
mov eax, 0x6cc7bc
test eax, eax
je 0x59557e
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x59557e
mov ecx, dword [ebp - 0x20]
push 0x6a1c20
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x59541d
push 0x6a1c20
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c20
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x5953f9
test edi, edi
je 0x59557e
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d680
push 0x6a1c20
mov byte [ebp - 4], 0x16
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x5954a2
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c20
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5954a5
jmp 0x595572
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c20
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x595535
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c20
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp + 0x10]
push 0x6a1c20
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 0x14
jmp 0x5954be
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edx, 0x6a1c1c
test edx, edx
je 0x595744
mov eax, 0x6cc7bc
test eax, eax
je 0x595744
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x595744
mov ecx, dword [ebp - 0x20]
push 0x6a1c1c
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5955e3
push 0x6a1c1c
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c1c
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x5955bf
test edi, edi
je 0x595744
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d680
push 0x6a1c1c
mov byte [ebp - 4], 0x17
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x595668
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c1c
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x59566b
jmp 0x595738
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c1c
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5956fb
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c1c
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp + 0x10]
push 0x6a1c1c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 0x14
jmp 0x595684
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x59574e
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x59592a
mov edx, 0x6a1c18
test edx, edx
je 0x59592a
mov eax, 0x6cc7bc
test eax, eax
je 0x59592a
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x59592a
mov ecx, dword [ebp - 0x20]
push 0x6a1c18
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5957c9
push 0x6a1c18
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c18
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x5957a5
test edi, edi
je 0x59592a
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d680
push 0x6a1c18
mov byte [ebp - 4], 0x18
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x59584e
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c18
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x595851
jmp 0x59591e
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c18
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5958e1
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c18
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp + 0x10]
push 0x6a1c18
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 0x14
jmp 0x59586a
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x595934
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005c338f
add esp, 8
test eax, eax
je 0x595b10
mov edx, 0x6a1c14
test edx, edx
je 0x595b10
mov eax, 0x6cc7bc
test eax, eax
je 0x595b10
push eax
push edx
call fcn.005c342f
add esp, 8
test eax, eax
je 0x595b10
mov ecx, dword [ebp - 0x20]
push 0x6a1c14
push ecx
call fcn.005c3775
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5959af
push 0x6a1c14
inc edi
call fcn.005c2f1a
lea eax, [esi + eax*2]
push 0x6a1c14
push eax
call fcn.005c3775
add esp, 0xc
mov esi, eax
jmp 0x59598b
test edi, edi
je 0x595b10
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d680
push 0x6a1c14
mov byte [ebp - 4], 0x19
call fcn.005c2f1a
push 0x6cc7bc
mov esi, eax
call fcn.005c2f1a
add esp, 8
cmp eax, esi
jbe 0x595a34
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2f1a
push 0x6a1c14
mov esi, eax
call fcn.005c2f1a
push 0x6cc7bc
mov ebx, eax
call fcn.005c2f1a
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db95d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x595a37
jmp 0x595b04
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c14
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x595ac7
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6cc7bc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
mov ecx, eax
mov esi, 0x6cc7bc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6cc7bc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
push 0x6a1c14
lea ebx, [ebx + eax*2]
call fcn.005c2f1a
mov ecx, dword [ebp + 0x10]
push 0x6a1c14
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3775
add esp, 0x14
jmp 0x595a50
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2f1a
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c2f1a
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x13
call fcn.005df556
mov ebx, dword [ebp - 0x60]
jmp 0x595d6b
cmp ebx, esi
jae 0x595b42
push 0x2e
push ebx
call fcn.005c2f50
add esp, 8
test eax, eax
je 0x595b42
lea edx, [eax + 1]
cmp edx, esi
jae 0x595b42
mov ebx, eax
jmp 0x595b24
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x595cd0
push edi
call fcn.005db95d
mov edx, eax
mov ecx, edi
mov dword [ebp + 0x10], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
add esp, 4
mov ecx, edx
and ecx, 3
push esi
mov esi, dword [ebp + 0x10]
push ebx
push esi
rep stosb byte es:[edi], al
call fcn.005c3470
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
push ebx
push esi
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00402880
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x1a
cmp eax, ebx
mov edi, eax
jne 0x595ba6
lea edi, [ebp - 0x38]
mov esi, dword [ebp - 0x80]
cmp esi, ebx
jne 0x595bb0
lea esi, [ebp - 0x7c]
mov eax, str._s._s
test eax, eax
je 0x595cb3
cmp esi, ebx
je 0x595cb3
cmp edi, ebx
je 0x595cb3
push eax
lea ecx, [ebp - 0x74]
call fcn.00401ec0
push esi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1b
call fcn.0040d680
push edi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.0040d680
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1d
call fcn.00401070
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x98]
call fcn.00401f40
push eax
call fcn.005c2f1a
add esp, 4
lea ecx, [ebp - 0x48]
mov edi, eax
call fcn.00401f40
push eax
call fcn.005c2f1a
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005db95d
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x20], edx
je 0x595c8c
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x98]
call fcn.00401f40
push eax
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
lea ecx, [ebp - 0x74]
call fcn.00401f40
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.005c2eaa
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2f1a
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1b
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1a
call fcn.00401070
mov edx, dword [ebp + 0x10]
push edx
call fcn.005db986
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x13
call fcn.00401070
jmp 0x595d74
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x20]
push eax
call fcn.00401f50
jmp 0x595d74
test edi, edi
jne 0x595d74
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov edx, dword [ecx + 0x28]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x595d74
cmp esi, edx
jbe 0x595d74
mov eax, dword [ebp - 0x4c]
inc eax
cmp eax, esi
je 0x595d74
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005db95d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x595d74
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x28]
sub esi, eax
push esi
push eax
push ebx
call fcn.005c3470
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402880
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx + 0x168]
push eax
push ebx
call fcn.00593880
push ebx
call fcn.005db986
add esp, 4
mov ebx, dword [ebp - 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0x338]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x595eaf
mov cl, byte [edx]
cmp cl, 0x2e
mov ecx, dword [ebp - 0x20]
sete byte [ebp + 0x13]
xor edi, edi
push ecx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x40], edi
mov word [ebp - 0x44], di
call fcn.00401f50
push 0x2e
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1e
call fcn.00401f40
push eax
call fcn.005c2e6a
mov esi, eax
add esp, 8
cmp esi, edi
je 0x595e53
mov al, byte [ebp + 0x13]
test al, al
jne 0x595ddb
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.005df616
mov eax, dword [ebx + 0x338]
mov edx, dword [ebp + 0x10]
mov byte [ebp - 4], 0x1f
mov ecx, dword [eax - 8]
inc ecx
push ecx
push eax
push edx
call fcn.005c52b0
add esp, 0xc
test eax, eax
je 0x595e45
mov word [esi], di
mov eax, dword [ebx + 0x338]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401ec0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x20
call fcn.00401f40
push eax
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
push 0x69e048
lea ecx, [ebp - 0x20]
call fcn.0040e360
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1f
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1e
call fcn.005df556
jmp 0x595ea3
mov ebx, dword [ebx + 0x338]
lea ecx, [ebp - 0x74]
push ebx
call fcn.00401ec0
mov al, byte [ebp + 0x13]
mov byte [ebp - 4], 0x21
test al, al
mov esi, 0x6cc7bc
jne 0x595e77
mov esi, 0x69eda8
lea ecx, [ebp - 0x74]
call fcn.00401f40
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
push 0x69eb44
lea ecx, [ebp - 0x20]
call fcn.0043c650
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1e
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x13
call fcn.00401070
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.005df556
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x44]
cmp eax, 4
je 0x595ed7
cmp eax, 5
jne 0x595f0d
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2e6a
add esp, 8
test eax, eax
push str..flv
je 0x595f05
push eax
call fcn.005c55fc
add esp, 8
test eax, eax
je 0x595f0d
push str..flv
lea ecx, [ebp - 0x20]
call fcn.004578b0
lea ecx, [ebp - 0x8c]
call fcn.0041a850
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x22
test esi, esi
je 0x595fa1
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2e6a
mov ecx, dword [0x6c826c]
add esp, 8
mov dword [ebp + 0x10], ecx
test eax, eax
mov byte [ebp - 4], 0x23
je 0x595f53
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.005df706
mov ecx, dword [edi + 0x20]
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x8c]
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004a0f30
test al, al
jne 0x595f85
lea eax, [ebp - 0x8c]
push eax
call fcn.00441770
add esp, 4
jmp 0x595f93
mov ecx, dword [ebp - 0x9c]
push ecx
mov ecx, edi
call fcn.00589080
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x22
call fcn.005df556
jmp 0x595fb0
lea edx, [ebp - 0x8c]
push edx
call fcn.00441770
add esp, 4
lea ecx, [ebp - 0x8c]
call fcn.00401f40
push eax
call fcn.005c2f1a
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x595fda
mov esi, pe_nt_image_headers32
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2f1a
add esp, 4
cmp eax, esi
jbe 0x596034
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2f1a
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x20]
sub ebx, esi
call fcn.00401f40
lea eax, [eax + ebx*2]
lea ecx, [ebp - 0x74]
push eax
call fcn.0040d680
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0x24
push ecx
lea ecx, [ebp - 0x20]
call fcn.00401f50
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x22
call fcn.00401070
lea ecx, [ebp - 0x8c]
call fcn.00401f40
cmp word [eax + edi*2 - 2], 0x5c
mov esi, 0x6cc7bc
je 0x596051
mov esi, 0x69e054
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
push esi
lea ecx, [ebp - 0x8c]
call fcn.00401f40
mov ecx, dword [ebp + 0xc]
push eax
push 0x69eb44
call fcn.0043c650
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00401070
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc