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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60a2f9
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 0x593652
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.00593590
jmp 0x595bd7
mov eax, dword [0x6c826c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebx + 0x28]
push 0x6a0448
push ecx
mov byte [ebp - 4], 3
call fcn.005c2d30
add esp, 8
test eax, eax
je 0x593b20
mov edx, dword [ebx + 0x28]
push 0x3d
push edx
call fcn.005c3bf0
mov edi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x50], edi
call fcn.005c3bf0
mov ecx, dword [ebx + 0x28]
mov esi, eax
push 0x2f
push ecx
mov dword [ebp - 0x4c], esi
call fcn.005c3bf0
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x26], 0
jbe 0x59386f
cmp edi, eax
jbe 0x59386f
lea edx, [edi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593a46
push edx
lea ecx, [ebp - 0x2c]
call fcn.005df3ef
mov edx, dword [ebp - 0x2c]
push 0x2e
push edx
call fcn.005c3bf0
add esp, 8
mov dword [ebp - 0x68], eax
test eax, eax
je 0x59386f
cmp eax, dword [ebp - 0x2c]
je 0x59386f
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.005d809b
mov eax, dword [ebp - 0x24]
add esp, 0xc
push 0x3f
push eax
call fcn.005c2c70
add esp, 8
test eax, eax
je 0x593736
mov byte [eax], 0
mov ecx, dword [ebp - 0x24]
push 0x2e
push ecx
call fcn.005c3bf0
mov esi, eax
add esp, 8
test esi, esi
mov dword [ebp - 0x60], esi
je 0x5937ba
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 0x5937ba
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.005d809b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005df6ae
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.005c2d30
add esp, 8
test eax, eax
je 0x5937ae
push 0x2a
push esi
call fcn.005c2c70
add esp, 8
test eax, eax
jne 0x5937ae
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.005df266
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 0x5937eb
mov esi, dword [ebx + 0xdc]
test esi, esi
je 0x59383e
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59383e
test esi, esi
je 0x59383e
mov al, byte [ebp - 0x25]
test al, al
je 0x593809
mov edx, dword [ebp - 0x60]
mov ecx, 0x6ccd90
push edx
push esi
call fcn.0042d1a0
test eax, eax
jne 0x593845
mov ecx, dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x60]
call fcn.005df2d4
mov edx, dword [ebp - 0x60]
mov ecx, 0x6ccd90
push edx
push esi
mov byte [ebp - 4], 6
call fcn.0042d1a0
test eax, eax
je 0x593830
mov byte [ebp - 0x26], 1
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 4
call fcn.005df266
jmp 0x593855
mov al, byte [ebp - 0x25]
test al, al
je 0x593851
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005df39f
mov byte [ebp - 0x26], 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005df266
mov al, byte [ebp - 0x26]
test al, al
jne 0x593aae
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
cmp eax, ecx
jbe 0x593a66
cmp eax, dword [ebp - 0x64]
jbe 0x593a66
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 0x593a46
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x25], al
mov byte [ebp - 0x26], al
call fcn.005df3ef
mov ecx, dword [ebp - 0x2c]
push 0x2e
push ecx
call fcn.005c3bf0
add esp, 8
mov dword [ebp - 0x68], eax
test eax, eax
je 0x593aae
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.005d809b
mov eax, dword [ebp - 0x24]
add esp, 0xc
push 0x3f
push eax
call fcn.005c2c70
add esp, 8
test eax, eax
je 0x593900
mov byte [eax], 0
mov ecx, dword [ebp - 0x24]
push 0x2e
push ecx
call fcn.005c3bf0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x59397e
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59397e
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.005d809b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005df6ae
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.005c2d30
add esp, 8
test eax, eax
je 0x593972
push 0x2a
push ebx
call fcn.005c2c70
add esp, 8
test eax, eax
jne 0x593972
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.005df266
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 0x5939b6
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x593a31
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593a31
test esi, esi
je 0x593a31
mov al, byte [ebp - 0x25]
test al, al
je 0x5939df
push ebx
push esi
mov ecx, 0x6ccd90
call fcn.0042d1a0
test eax, eax
je 0x5939df
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005df39f
jmp 0x593a23
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x4c]
push eax
call fcn.005df2d4
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
push ecx
push esi
mov ecx, 0x6ccd90
call fcn.0042d1a0
test eax, eax
mov bl, 1
jne 0x593a07
mov bl, byte [ebp - 0x26]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.005df266
test bl, bl
jne 0x593a23
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005df3ef
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005df266
jmp 0x593aae
mov al, byte [ebp - 0x25]
test al, al
je 0x593a23
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005df39f
jmp 0x593a23
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005df3ef
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005c2c70
add esp, 8
test eax, eax
je 0x593aae
jmp 0x593aab
test eax, eax
jne 0x593a8d
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x593a8d
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593a8d
push edx
lea ecx, [ebp - 0x2c]
call fcn.005df3ef
jmp 0x593aae
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005df3ef
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005c2c70
add esp, 8
test eax, eax
je 0x593aae
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 0x593b8f
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593b8f
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 0x593b8f
lea ecx, [eax + eax + 2]
push ecx
call fcn.005db66d
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x593b96
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 0x593b8f
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 0x593b80
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x593b80
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 0x593b80
lea eax, [eax + eax + 2]
push eax
call fcn.005db66d
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x593b80
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.005df3ef
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593b99
lea eax, [ebp - 0x58]
push eax
call fcn.005c2c42
add esp, 4
cmp eax, 0x7d0
jae 0x593bc8
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.00593590
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593bd2
lea eax, [ebp - 0x58]
push 0x3d
push eax
call fcn.005c2b92
mov ebx, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x593be9
lea eax, [ebp - 0x58]
push 0x3f
push eax
call fcn.005c2b92
mov edi, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x593c00
lea eax, [ebp - 0x58]
push 0x2f
push eax
call fcn.005c2b92
add esp, 8
cmp edi, ebx
jae 0x593c1b
cmp ebx, eax
jbe 0x593c19
add ebx, 2
push ebx
jmp 0x593c2f
cmp edi, ebx
jbe 0x593c27
cmp edi, eax
jbe 0x593c27
add edi, 2
push edi
jmp 0x593c2f
test eax, eax
je 0x593c37
add eax, 2
push eax
lea ecx, [ebp - 0x5c]
call fcn.00401f50
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593c41
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401f50
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x593c54
lea eax, [ebp - 0x58]
push eax
call fcn.005c2c42
add esp, 4
test eax, eax
jne 0x593f0e
mov esi, dword [ebp - 0x30]
mov ebx, 1
mov edx, dword [esi + 0x24]
test edx, edx
je 0x593d94
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebx
jbe 0x593d94
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.005d809b
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 0x593ccd
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x24]
call fcn.005df6d2
mov edx, dword [ebp - 0x24]
push 0x2f
push edx
call fcn.005c3bf0
add esp, 8
test eax, eax
je 0x593d80
inc eax
push 0
push eax
lea ecx, [ebp - 0x20]
call fcn.00402880
mov edx, 0x6a5bf8
test edx, edx
je 0x593d7e
push edx
call fcn.005c2c42
add esp, 4
test eax, eax
je 0x593d7e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x593d1a
push eax
call fcn.005c2c42
add esp, 4
mov edi, eax
jmp 0x593d1c
xor edi, edi
push 0x6a5bf8
call fcn.005c2c42
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005db66d
mov edi, eax
add esp, 8
test edi, edi
je 0x593d7e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x593d59
push eax
push edi
call fcn.005c2dda
push 0x6a5bf8
push edi
call fcn.005c2db0
add esp, 0x10
jmp 0x593d67
push 0x6a5bf8
push edi
call fcn.005c2dda
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.00401070
push edi
mov dword [ebp - 0x20], edi
call fcn.005c2c42
add esp, 4
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005df266
test ebx, ebx
je 0x593eea
mov eax, dword [esi + 0x20]
test eax, eax
je 0x593eea
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 0x593dc3
lea eax, [ebp - 0x44]
push 0x2e
push eax
call fcn.005c2b92
add esp, 8
cmp eax, esi
je 0x593ede
xor esi, esi
mov word [eax], si
mov edi, dword [ebp - 0x48]
cmp edi, esi
je 0x593e09
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x593e02
cmp word [edi], 0x2e
jne 0x593dfd
mov word [edi], 0x5f
add edi, 2
jmp 0x593dee
mov eax, dword [ebp - 0x48]
cmp eax, esi
jne 0x593e0c
lea eax, [ebp - 0x44]
mov ecx, str._s_default.html
test ecx, ecx
je 0x593ede
cmp eax, esi
je 0x593ede
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.005c2c42
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005db66d
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x20], edx
je 0x593ec3
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.005c2bd2
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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 0x593ef4
lea eax, [ebp - 0x1c]
push eax
call fcn.005c2c42
add esp, 4
test eax, eax
jne 0x593f0e
push str.default.html
lea ecx, [ebp - 0x20]
call fcn.00401f50
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x593f3a
push eax
mov edi, eax
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x593f37
cmp word [edi], 0x3a
jne 0x593f32
mov word [edi], 0x2d
add edi, 2
jmp 0x593f23
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x593f6e
test eax, eax
je 0x594095
push eax
mov edi, eax
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x593f6b
cmp word [edi], 0x2a
jne 0x593f66
mov word [edi], 0x2d
add edi, 2
jmp 0x593f57
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x594095
push eax
mov edi, eax
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x593f98
cmp word [edi], 0x3f
jne 0x593f93
mov word [edi], 0x2d
add edi, 2
jmp 0x593f84
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594095
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x593fc3
cmp word [edi], 0x7c
jne 0x593fbe
mov word [edi], 0x2d
add edi, 2
jmp 0x593faf
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594095
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x593fee
cmp word [edi], 0x3c
jne 0x593fe9
mov word [edi], 0x2d
add edi, 2
jmp 0x593fda
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594095
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594019
cmp word [edi], 0x3e
jne 0x594014
mov word [edi], 0x2d
add edi, 2
jmp 0x594005
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594095
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594040
cmp word [edi], 0x22
jne 0x59403b
mov word [edi], 0x2d
add edi, 2
jmp 0x59402c
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594095
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x594067
cmp word [edi], 0x25
jne 0x594062
mov word [edi], 0x2d
add edi, 2
jmp 0x594053
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x594095
push edi
call fcn.005c2c42
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x59408e
cmp word [edi], 0x5c
jne 0x594089
mov word [edi], 0x2d
add edi, 2
jmp 0x59407a
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x594098
lea edi, [ebp - 0x1c]
push edi
call fcn.005c2c42
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5940b7
cmp word [edi + ecx*2], 0x20
jae 0x5940b4
mov word [edi + ecx*2], 0x2d
inc ecx
jmp 0x5940a3
mov eax, dword [0x6cce50]
test eax, eax
jne 0x594a52
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5940ce
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005c30af
add esp, 8
test eax, eax
jne 0x594100
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5940ea
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x594676
mov edx, 0x6a1c1c
test edx, edx
je 0x5942d2
mov eax, 0x6cc7bc
test eax, eax
je 0x5942d2
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x5942d2
mov ecx, dword [ebp - 0x20]
push 0x6a1c1c
push ecx
call fcn.005c3495
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x594165
push 0x6a1c1c
inc ebx
call fcn.005c2c42
lea eax, [edi + eax*2]
push 0x6a1c1c
push eax
call fcn.005c3495
add esp, 0xc
mov edi, eax
jmp 0x594141
test ebx, ebx
je 0x5942d2
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], 0xe
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x5941f6
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c1c
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov edi, eax
call fcn.005c2c42
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5941f9
jmp 0x5942c6
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00401f40
push 0x6a1c1c
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x594289
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.005c2c42
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.005c2c42
push 0x6a1c1c
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x14]
push 0x6a1c1c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 0x14
jmp 0x594212
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x6a1c18
test edx, edx
je 0x5944a4
mov eax, 0x6cc7bc
test eax, eax
je 0x5944a4
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x5944a4
mov ecx, dword [ebp - 0x20]
push 0x6a1c18
push ecx
call fcn.005c3495
add esp, 8
xor esi, esi
mov edi, eax
xor ebx, ebx
cmp edi, esi
je 0x594339
push 0x6a1c18
inc ebx
call fcn.005c2c42
lea eax, [edi + eax*2]
push 0x6a1c18
push eax
call fcn.005c3495
add esp, 0xc
mov edi, eax
jmp 0x594315
cmp ebx, esi
je 0x5944a4
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 0x6a1c18
mov byte [ebp - 4], 0xf
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x5943c8
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c18
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov edi, eax
call fcn.005c2c42
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5943cb
jmp 0x594498
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00401f40
push 0x6a1c18
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x59445b
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.005c2c42
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.005c2c42
push 0x6a1c18
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x14]
push 0x6a1c18
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 0x14
jmp 0x5943e4
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x6a1c14
test edx, edx
je 0x594676
mov eax, 0x6cc7bc
test eax, eax
je 0x594676
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x594676
mov ecx, dword [ebp - 0x20]
push 0x6a1c14
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x594509
push 0x6a1c14
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c14
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x5944e5
test edi, edi
je 0x594676
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 0x6a1c14
mov byte [ebp - 4], 0x10
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x59459a
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c14
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x59459d
jmp 0x59466a
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00401f40
push 0x6a1c14
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x59462d
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.005c2c42
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.005c2c42
push 0x6a1c14
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x14]
push 0x6a1c14
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 0x14
jmp 0x5945b6
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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 0x594680
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x594864
mov edx, 0x6a1c10
test edx, edx
je 0x594864
mov eax, 0x6cc7bc
test eax, eax
je 0x594864
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x594864
mov ecx, dword [ebp - 0x20]
push 0x6a1c10
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5946fb
push 0x6a1c10
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c10
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x5946d7
test edi, edi
je 0x594864
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d700
push 0x6a1c10
mov byte [ebp - 4], 0x11
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x594788
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x594742
lea esi, [ebp - 0x38]
push 0x6a1c10
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x50], edx
call fcn.005c2c42
mov ecx, dword [ebp - 0x50]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x59478b
jmp 0x594858
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c10
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x59481b
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.005c2c42
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.005c2c42
push 0x6a1c10
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x14]
push 0x6a1c10
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 0x14
jmp 0x5947a4
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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 0x59486e
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x594a52
mov edx, 0x6a1c0c
test edx, edx
je 0x594a52
mov eax, 0x6cc7bc
test eax, eax
je 0x594a52
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x594a52
mov ecx, dword [ebp - 0x20]
push 0x6a1c0c
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5948e9
push 0x6a1c0c
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c0c
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x5948c5
test edi, edi
je 0x594a52
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d700
push 0x6a1c0c
mov byte [ebp - 4], 0x12
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x594976
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x594930
lea esi, [ebp - 0x38]
push 0x6a1c0c
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x50], edx
call fcn.005c2c42
mov ecx, dword [ebp - 0x50]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x594979
jmp 0x594a46
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c0c
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x594a09
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.005c2c42
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.005c2c42
push 0x6a1c0c
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp - 0x14]
push 0x6a1c0c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c3495
add esp, 0x14
jmp 0x594992
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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.005c2c70
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.005c2c70
mov ebx, eax
mov eax, dword [ebp - 0x20]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x4c], ebx
jne 0x594a81
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 0x594aa2
lea eax, [ebp - 0x7c]
push 0x2e
push eax
call fcn.005c2b92
mov edi, eax
add esp, 8
test edi, edi
je 0x594aca
mov word [edi], 0
add edi, 2
push edi
call fcn.005c2c42
add esp, 4
test eax, eax
jne 0x594aca
xor edi, edi
test esi, esi
je 0x595a84
test ebx, ebx
je 0x5959f1
cmp ebx, esi
ja 0x5959f1
mov ecx, dword [ebp - 0x4c]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x5959f1
test edi, edi
jne 0x595a84
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 0x595834
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005db66d
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x60], ebx
je 0x595a84
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.005c3190
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.00593590
push 0x2e
push ebx
call fcn.005c3bf0
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0x4c], edi
je 0x595a7b
push str..asp
push edi
call fcn.005c40f0
add esp, 8
test eax, eax
je 0x594bdf
push str..jsp
push edi
call fcn.005c40f0
add esp, 8
test eax, eax
je 0x594bdf
push str..cgi
push edi
call fcn.005c40f0
add esp, 8
test eax, eax
je 0x594bdf
push str..php
push edi
call fcn.005c40f0
add esp, 8
test eax, eax
jne 0x595a7b
mov edi, dword [ebp - 0x30]
push 0x3d
mov eax, dword [edi + 0x28]
push eax
call fcn.005c3bf0
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 0x595a7b
mov eax, dword [ebp - 0x50]
cmp byte [ecx + eax - 1], 0x2e
je 0x595a7b
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 0x594c2e
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.005d809b
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 0x594c90
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594c8d
cmp word [esi], 0x3a
jne 0x594c88
mov word [esi], 0x2d
add esi, 2
jmp 0x594c79
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x594cc4
test eax, eax
je 0x594e97
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594cc1
cmp word [esi], 0x2a
jne 0x594cbc
mov word [esi], 0x2d
add esi, 2
jmp 0x594cad
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x594e97
push eax
mov esi, eax
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594cee
cmp word [esi], 0x3f
jne 0x594ce9
mov word [esi], 0x2d
add esi, 2
jmp 0x594cda
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594d19
cmp word [esi], 0x7c
jne 0x594d14
mov word [esi], 0x2d
add esi, 2
jmp 0x594d05
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594d44
cmp word [esi], 0x3c
jne 0x594d3f
mov word [esi], 0x2d
add esi, 2
jmp 0x594d30
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594d6f
cmp word [esi], 0x3e
jne 0x594d6a
mov word [esi], 0x2d
add esi, 2
jmp 0x594d5b
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594d9a
cmp word [esi], 0x22
jne 0x594d95
mov word [esi], 0x2d
add esi, 2
jmp 0x594d86
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594dc5
cmp word [esi], 0x25
jne 0x594dc0
mov word [esi], 0x2d
add esi, 2
jmp 0x594db1
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594df0
cmp word [esi], 0x5c
jne 0x594deb
mov word [esi], 0x2d
add esi, 2
jmp 0x594ddc
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594e1b
cmp word [esi], 0x2f
jne 0x594e16
mov word [esi], 0x5f
add esi, 2
jmp 0x594e07
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594e42
cmp word [esi], 0x27
jne 0x594e3d
mov word [esi], 0x5f
add esi, 2
jmp 0x594e2e
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594e69
cmp word [esi], 0x2c
jne 0x594e64
mov word [esi], 0x5f
add esi, 2
jmp 0x594e55
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x594e97
push esi
call fcn.005c2c42
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x594e90
cmp word [esi], 0x3b
jne 0x594e8b
mov word [esi], 0x5f
add esi, 2
jmp 0x594e7c
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x594e9a
lea esi, [ebp - 0x1c]
push esi
call fcn.005c2c42
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x594eb9
cmp word [esi + ecx*2], 0x20
jae 0x594eb6
mov word [esi + ecx*2], 0x2d
inc ecx
jmp 0x594ea5
mov eax, dword [0x6cce50]
test eax, eax
jne 0x595820
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x594ed0
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005c30af
add esp, 8
test eax, eax
jne 0x594f02
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x594eec
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x595454
mov ecx, 0x6a1c1c
test ecx, ecx
je 0x5950c8
mov edx, 0x6cc7bc
test edx, edx
je 0x5950c8
push edx
push ecx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x5950c8
mov eax, dword [ebp - 0x20]
push 0x6a1c1c
push eax
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x594f67
push 0x6a1c1c
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c1c
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x594f43
test edi, edi
je 0x5950c8
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0040d700
push 0x6a1c1c
mov byte [ebp - 4], 0x15
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x594fec
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c1c
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea edx, [esi + esi + 2]
push edx
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x594fef
jmp 0x5950bc
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c1c
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x59507f
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.005c2c42
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.005c2c42
push 0x6a1c1c
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp + 0x10]
push 0x6a1c1c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 0x14
jmp 0x595008
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edx, 0x6a1c18
test edx, edx
je 0x59528e
mov eax, 0x6cc7bc
test eax, eax
je 0x59528e
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x59528e
mov ecx, dword [ebp - 0x20]
push 0x6a1c18
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x59512d
push 0x6a1c18
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c18
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x595109
test edi, edi
je 0x59528e
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d700
push 0x6a1c18
mov byte [ebp - 4], 0x16
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x5951b2
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c18
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5951b5
jmp 0x595282
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c18
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x595245
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.005c2c42
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.005c2c42
push 0x6a1c18
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp + 0x10]
push 0x6a1c18
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 0x14
jmp 0x5951ce
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edx, 0x6a1c14
test edx, edx
je 0x595454
mov eax, 0x6cc7bc
test eax, eax
je 0x595454
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x595454
mov ecx, dword [ebp - 0x20]
push 0x6a1c14
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5952f3
push 0x6a1c14
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c14
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x5952cf
test edi, edi
je 0x595454
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d700
push 0x6a1c14
mov byte [ebp - 4], 0x17
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x595378
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c14
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x59537b
jmp 0x595448
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c14
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x59540b
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.005c2c42
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.005c2c42
push 0x6a1c14
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp + 0x10]
push 0x6a1c14
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 0x14
jmp 0x595394
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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 0x59545e
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x59563a
mov edx, 0x6a1c10
test edx, edx
je 0x59563a
mov eax, 0x6cc7bc
test eax, eax
je 0x59563a
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x59563a
mov ecx, dword [ebp - 0x20]
push 0x6a1c10
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5954d9
push 0x6a1c10
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c10
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x5954b5
test edi, edi
je 0x59563a
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d700
push 0x6a1c10
mov byte [ebp - 4], 0x18
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x59555e
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c10
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x595561
jmp 0x59562e
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c10
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5955f1
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.005c2c42
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.005c2c42
push 0x6a1c10
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp + 0x10]
push 0x6a1c10
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 0x14
jmp 0x59557a
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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 0x595644
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005c30af
add esp, 8
test eax, eax
je 0x595820
mov edx, 0x6a1c0c
test edx, edx
je 0x595820
mov eax, 0x6cc7bc
test eax, eax
je 0x595820
push eax
push edx
call fcn.005c314f
add esp, 8
test eax, eax
je 0x595820
mov ecx, dword [ebp - 0x20]
push 0x6a1c0c
push ecx
call fcn.005c3495
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5956bf
push 0x6a1c0c
inc edi
call fcn.005c2c42
lea eax, [esi + eax*2]
push 0x6a1c0c
push eax
call fcn.005c3495
add esp, 0xc
mov esi, eax
jmp 0x59569b
test edi, edi
je 0x595820
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d700
push 0x6a1c0c
mov byte [ebp - 4], 0x19
call fcn.005c2c42
push 0x6cc7bc
mov esi, eax
call fcn.005c2c42
add esp, 8
cmp eax, esi
jbe 0x595744
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push eax
call fcn.005c2c42
push 0x6a1c0c
mov esi, eax
call fcn.005c2c42
push 0x6cc7bc
mov ebx, eax
call fcn.005c2c42
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005db66d
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x595747
jmp 0x595814
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00401f40
push 0x6a1c0c
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5957d7
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.005c2c42
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.005c2c42
push 0x6a1c0c
lea ebx, [ebx + eax*2]
call fcn.005c2c42
mov ecx, dword [ebp + 0x10]
push 0x6a1c0c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c3495
add esp, 0x14
jmp 0x595760
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c2c42
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.005c2c42
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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.005df266
mov ebx, dword [ebp - 0x60]
jmp 0x595a7b
cmp ebx, esi
jae 0x595852
push 0x2e
push ebx
call fcn.005c2c70
add esp, 8
test eax, eax
je 0x595852
lea edx, [eax + 1]
cmp edx, esi
jae 0x595852
mov ebx, eax
jmp 0x595834
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x5959e0
push edi
call fcn.005db66d
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.005c3190
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 0x5958b6
lea edi, [ebp - 0x38]
mov esi, dword [ebp - 0x80]
cmp esi, ebx
jne 0x5958c0
lea esi, [ebp - 0x7c]
mov eax, str._s._s
test eax, eax
je 0x5959c3
cmp esi, ebx
je 0x5959c3
cmp edi, ebx
je 0x5959c3
push eax
lea ecx, [ebp - 0x74]
call fcn.00401ec0
push esi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1b
call fcn.0040d700
push edi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.0040d700
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.005c2c42
add esp, 4
lea ecx, [ebp - 0x48]
mov edi, eax
call fcn.00401f40
push eax
call fcn.005c2c42
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005db66d
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x20], edx
je 0x59599c
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.005c2bd2
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c2c42
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.005db696
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x13
call fcn.00401070
jmp 0x595a84
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x20]
push eax
call fcn.00401f50
jmp 0x595a84
test edi, edi
jne 0x595a84
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 0x595a84
cmp esi, edx
jbe 0x595a84
mov eax, dword [ebp - 0x4c]
inc eax
cmp eax, esi
je 0x595a84
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005db66d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x595a84
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.005c3190
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.00593590
push ebx
call fcn.005db696
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 0x595bbf
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.005c2b92
mov esi, eax
add esp, 8
cmp esi, edi
je 0x595b63
mov al, byte [ebp + 0x13]
test al, al
jne 0x595aeb
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.005df326
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.005c4fd0
add esp, 0xc
test eax, eax
je 0x595b55
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.0040e3e0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1f
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1e
call fcn.005df266
jmp 0x595bb3
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 0x595b87
mov esi, 0x69edc8
lea ecx, [ebp - 0x74]
call fcn.00401f40
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.00401f40
push eax
push 0x69eb64
lea ecx, [ebp - 0x20]
call fcn.0043c810
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.005df266
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x44]
cmp eax, 4
je 0x595be7
cmp eax, 5
jne 0x595c1d
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2b92
add esp, 8
test eax, eax
push str..flv
je 0x595c15
push eax
call fcn.005c531c
add esp, 8
test eax, eax
je 0x595c1d
push str..flv
lea ecx, [ebp - 0x20]
call fcn.00457a70
lea ecx, [ebp - 0x8c]
call fcn.0041a850
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x22
test esi, esi
je 0x595cb1
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2b92
mov ecx, dword [0x6c826c]
add esp, 8
mov dword [ebp + 0x10], ecx
test eax, eax
mov byte [ebp - 4], 0x23
je 0x595c63
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.005df416
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.004a0f00
test al, al
jne 0x595c95
lea eax, [ebp - 0x8c]
push eax
call fcn.00441930
add esp, 4
jmp 0x595ca3
mov ecx, dword [ebp - 0x9c]
push ecx
mov ecx, edi
call fcn.00588da0
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x22
call fcn.005df266
jmp 0x595cc0
lea edx, [ebp - 0x8c]
push edx
call fcn.00441930
add esp, 4
lea ecx, [ebp - 0x8c]
call fcn.00401f40
push eax
call fcn.005c2c42
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x595cea
mov esi, pe_nt_image_headers32
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2c42
add esp, 4
cmp eax, esi
jbe 0x595d44
lea ecx, [ebp - 0x20]
call fcn.00401f40
push eax
call fcn.005c2c42
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.0040d700
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 0x595d61
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 0x69eb64
call fcn.0043c810
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