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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60eb19
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 0x597cb2
push esi
push edx
lea ecx, [ebp - 0x20]
call fcn.00402980
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.00597bf0
jmp 0x59a237
mov eax, dword [0x6cc564]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebx + 0x28]
push 0x6a44e4
push ecx
mov byte [ebp - 4], 3
call fcn.005c7380
add esp, 8
test eax, eax
je 0x598180
mov edx, dword [ebx + 0x28]
push 0x3d
push edx
call fcn.005c8240
mov edi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x50], edi
call fcn.005c8240
mov ecx, dword [ebx + 0x28]
mov esi, eax
push 0x2f
push ecx
mov dword [ebp - 0x4c], esi
call fcn.005c8240
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x26], 0
jbe 0x597ecf
cmp edi, eax
jbe 0x597ecf
lea edx, [edi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5980a6
push edx
lea ecx, [ebp - 0x2c]
call fcn.005e3a42
mov edx, dword [ebp - 0x2c]
push 0x2e
push edx
call fcn.005c8240
add esp, 8
mov dword [ebp - 0x68], eax
test eax, eax
je 0x597ecf
cmp eax, dword [ebp - 0x2c]
je 0x597ecf
mov eax, dword [0x6cc564]
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebx + 0x28]
lea edx, [ebp - 0x24]
push ecx
push 0x6a1fe8
push edx
mov byte [ebp - 4], 4
call fcn.005dc6eb
mov eax, dword [ebp - 0x24]
add esp, 0xc
push 0x3f
push eax
call fcn.005c72c0
add esp, 8
test eax, eax
je 0x597d96
mov byte [eax], 0
mov ecx, dword [ebp - 0x24]
push 0x2e
push ecx
call fcn.005c8240
mov esi, eax
add esp, 8
test esi, esi
mov dword [ebp - 0x60], esi
je 0x597e1a
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 0x597e1a
mov edx, dword [0x6cc564]
mov dword [ebp - 0x14], edx
push esi
lea eax, [ebp - 0x14]
push 0x6a1fe8
push eax
mov byte [ebp - 4], 5
call fcn.005dc6eb
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005e3d01
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.005c7380
add esp, 8
test eax, eax
je 0x597e0e
push 0x2a
push esi
call fcn.005c72c0
add esp, 8
test eax, eax
jne 0x597e0e
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.005e38b9
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 0x597e4b
mov esi, dword [ebx + 0xdc]
test esi, esi
je 0x597e9e
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x597e9e
test esi, esi
je 0x597e9e
mov al, byte [ebp - 0x25]
test al, al
je 0x597e69
mov edx, dword [ebp - 0x60]
mov ecx, 0x6d1090
push edx
push esi
call fcn.0042e3f0
test eax, eax
jne 0x597ea5
mov ecx, dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x60]
call fcn.005e3927
mov edx, dword [ebp - 0x60]
mov ecx, 0x6d1090
push edx
push esi
mov byte [ebp - 4], 6
call fcn.0042e3f0
test eax, eax
je 0x597e90
mov byte [ebp - 0x26], 1
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 4
call fcn.005e38b9
jmp 0x597eb5
mov al, byte [ebp - 0x25]
test al, al
je 0x597eb1
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005e39f2
mov byte [ebp - 0x26], 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005e38b9
mov al, byte [ebp - 0x26]
test al, al
jne 0x59810e
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
cmp eax, ecx
jbe 0x5980c6
cmp eax, dword [ebp - 0x64]
jbe 0x5980c6
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 0x5980a6
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x25], al
mov byte [ebp - 0x26], al
call fcn.005e3a42
mov ecx, dword [ebp - 0x2c]
push 0x2e
push ecx
call fcn.005c8240
add esp, 8
mov dword [ebp - 0x68], eax
test eax, eax
je 0x59810e
mov edx, dword [0x6cc564]
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 0x6a1fe8
push edx
call fcn.005dc6eb
mov eax, dword [ebp - 0x24]
add esp, 0xc
push 0x3f
push eax
call fcn.005c72c0
add esp, 8
test eax, eax
je 0x597f60
mov byte [eax], 0
mov ecx, dword [ebp - 0x24]
push 0x2e
push ecx
call fcn.005c8240
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x597fde
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x597fde
mov edx, dword [0x6cc564]
mov dword [ebp - 0x14], edx
push ebx
lea eax, [ebp - 0x14]
push 0x6a1fe8
push eax
mov byte [ebp - 4], 8
call fcn.005dc6eb
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005e3d01
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.005c7380
add esp, 8
test eax, eax
je 0x597fd2
push 0x2a
push ebx
call fcn.005c72c0
add esp, 8
test eax, eax
jne 0x597fd2
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.005e38b9
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 0x598016
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x598091
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x598091
test esi, esi
je 0x598091
mov al, byte [ebp - 0x25]
test al, al
je 0x59803f
push ebx
push esi
mov ecx, 0x6d1090
call fcn.0042e3f0
test eax, eax
je 0x59803f
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005e39f2
jmp 0x598083
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x4c]
push eax
call fcn.005e3927
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
push ecx
push esi
mov ecx, 0x6d1090
call fcn.0042e3f0
test eax, eax
mov bl, 1
jne 0x598067
mov bl, byte [ebp - 0x26]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.005e38b9
test bl, bl
jne 0x598083
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005e3a42
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005e38b9
jmp 0x59810e
mov al, byte [ebp - 0x25]
test al, al
je 0x598083
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005e39f2
jmp 0x598083
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005e3a42
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005c72c0
add esp, 8
test eax, eax
je 0x59810e
jmp 0x59810b
test eax, eax
jne 0x5980ed
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x5980ed
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5980ed
push edx
lea ecx, [ebp - 0x2c]
call fcn.005e3a42
jmp 0x59810e
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005e3a42
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005c72c0
add esp, 8
test eax, eax
je 0x59810e
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 0x5981ef
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5981ef
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 0x5981ef
lea ecx, [eax + eax + 2]
push ecx
call fcn.005dfcbc
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x5981f6
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 0x5981ef
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 0x5981e0
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5981e0
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 0x5981e0
lea eax, [eax + eax + 2]
push eax
call fcn.005dfcbc
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x5981e0
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.005e3a42
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5981f9
lea eax, [ebp - 0x58]
push eax
call fcn.005c7292
add esp, 4
cmp eax, 0x7d0
jae 0x598228
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.00597bf0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x598232
lea eax, [ebp - 0x58]
push 0x3d
push eax
call fcn.005c71e2
mov ebx, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x598249
lea eax, [ebp - 0x58]
push 0x3f
push eax
call fcn.005c71e2
mov edi, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x598260
lea eax, [ebp - 0x58]
push 0x2f
push eax
call fcn.005c71e2
add esp, 8
cmp edi, ebx
jae 0x59827b
cmp ebx, eax
jbe 0x598279
add ebx, 2
push ebx
jmp 0x59828f
cmp edi, ebx
jbe 0x598287
cmp edi, eax
jbe 0x598287
add edi, 2
push edi
jmp 0x59828f
test eax, eax
je 0x598297
add eax, 2
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402060
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5982a1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402060
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5982b4
lea eax, [ebp - 0x58]
push eax
call fcn.005c7292
add esp, 4
test eax, eax
jne 0x59856e
mov esi, dword [ebp - 0x30]
mov ebx, 1
mov edx, dword [esi + 0x24]
test edx, edx
je 0x5983f4
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebx
jbe 0x5983f4
mov eax, dword [0x6cc564]
mov dword [ebp - 0x24], eax
push edx
lea ecx, [ebp - 0x24]
push 0x6a1fe8
push ecx
mov byte [ebp - 4], 0xa
call fcn.005dc6eb
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 0x59832d
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x24]
call fcn.005e3d25
mov edx, dword [ebp - 0x24]
push 0x2f
push edx
call fcn.005c8240
add esp, 8
test eax, eax
je 0x5983e0
inc eax
push 0
push eax
lea ecx, [ebp - 0x20]
call fcn.00402980
mov edx, 0x6a9c90
test edx, edx
je 0x5983de
push edx
call fcn.005c7292
add esp, 4
test eax, eax
je 0x5983de
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x59837a
push eax
call fcn.005c7292
add esp, 4
mov edi, eax
jmp 0x59837c
xor edi, edi
push 0x6a9c90
call fcn.005c7292
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005dfcbc
mov edi, eax
add esp, 8
test edi, edi
je 0x5983de
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5983b9
push eax
push edi
call fcn.005c742a
push 0x6a9c90
push edi
call fcn.005c7400
add esp, 0x10
jmp 0x5983c7
push 0x6a9c90
push edi
call fcn.005c742a
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.00401070
push edi
mov dword [ebp - 0x20], edi
call fcn.005c7292
add esp, 4
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005e38b9
test ebx, ebx
je 0x59854a
mov eax, dword [esi + 0x20]
test eax, eax
je 0x59854a
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.00402980
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xb
cmp eax, esi
jne 0x598423
lea eax, [ebp - 0x44]
push 0x2e
push eax
call fcn.005c71e2
add esp, 8
cmp eax, esi
je 0x59853e
xor esi, esi
mov word [eax], si
mov edi, dword [ebp - 0x48]
cmp edi, esi
je 0x598469
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x598462
cmp word [edi], 0x2e
jne 0x59845d
mov word [edi], 0x5f
add edi, 2
jmp 0x59844e
mov eax, dword [ebp - 0x48]
cmp eax, esi
jne 0x59846c
lea eax, [ebp - 0x44]
mov ecx, str._s_default.html
test ecx, ecx
je 0x59853e
cmp eax, esi
je 0x59853e
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00402060
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call fcn.00401070
push str._s_default.html
lea ecx, [ebp - 0x98]
call fcn.00401fd0
mov edi, dword [ebp - 0x90]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
call fcn.00402050
push eax
call fcn.005c7292
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005dfcbc
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x20], edx
je 0x598523
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.00402050
push eax
lea ecx, [ebp - 0x98]
call fcn.00402050
push eax
mov eax, dword [ebp - 0x20]
push ebx
push eax
call fcn.005c7222
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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 0x598554
lea eax, [ebp - 0x1c]
push eax
call fcn.005c7292
add esp, 4
test eax, eax
jne 0x59856e
push str.default.html
lea ecx, [ebp - 0x20]
call fcn.00402060
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x59859a
push eax
mov edi, eax
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x598597
cmp word [edi], 0x3a
jne 0x598592
mov word [edi], 0x2d
add edi, 2
jmp 0x598583
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5985ce
test eax, eax
je 0x5986f5
push eax
mov edi, eax
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5985cb
cmp word [edi], 0x2a
jne 0x5985c6
mov word [edi], 0x2d
add edi, 2
jmp 0x5985b7
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5986f5
push eax
mov edi, eax
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5985f8
cmp word [edi], 0x3f
jne 0x5985f3
mov word [edi], 0x2d
add edi, 2
jmp 0x5985e4
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5986f5
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x598623
cmp word [edi], 0x7c
jne 0x59861e
mov word [edi], 0x2d
add edi, 2
jmp 0x59860f
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5986f5
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x59864e
cmp word [edi], 0x3c
jne 0x598649
mov word [edi], 0x2d
add edi, 2
jmp 0x59863a
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5986f5
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x598679
cmp word [edi], 0x3e
jne 0x598674
mov word [edi], 0x2d
add edi, 2
jmp 0x598665
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5986f5
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5986a0
cmp word [edi], 0x22
jne 0x59869b
mov word [edi], 0x2d
add edi, 2
jmp 0x59868c
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5986f5
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5986c7
cmp word [edi], 0x25
jne 0x5986c2
mov word [edi], 0x2d
add edi, 2
jmp 0x5986b3
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5986f5
push edi
call fcn.005c7292
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5986ee
cmp word [edi], 0x5c
jne 0x5986e9
mov word [edi], 0x2d
add edi, 2
jmp 0x5986da
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x5986f8
lea edi, [ebp - 0x1c]
push edi
call fcn.005c7292
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x598717
cmp word [edi + ecx*2], 0x20
jae 0x598714
mov word [edi + ecx*2], 0x2d
inc ecx
jmp 0x598703
mov eax, dword [0x6d1154]
test eax, eax
jne 0x5990b2
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x59872e
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
jne 0x598760
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x59874a
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x598cd6
mov edx, 0x6a5cb4
test edx, edx
je 0x598932
mov eax, 0x6d0abc
test eax, eax
je 0x598932
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x598932
mov ecx, dword [ebp - 0x20]
push 0x6a5cb4
push ecx
call fcn.005c7ae5
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x5987c5
push 0x6a5cb4
inc ebx
call fcn.005c7292
lea eax, [edi + eax*2]
push 0x6a5cb4
push eax
call fcn.005c7ae5
add esp, 0xc
mov edi, eax
jmp 0x5987a1
test ebx, ebx
je 0x598932
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.00402060
push 0x6a5cb4
mov byte [ebp - 4], 0xe
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x598856
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cb4
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov edi, eax
call fcn.005c7292
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x598859
jmp 0x598926
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00402050
push 0x6a5cb4
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5988e9
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cb4
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x14]
push 0x6a5cb4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x598872
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x6a5cb0
test edx, edx
je 0x598b04
mov eax, 0x6d0abc
test eax, eax
je 0x598b04
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x598b04
mov ecx, dword [ebp - 0x20]
push 0x6a5cb0
push ecx
call fcn.005c7ae5
add esp, 8
xor esi, esi
mov edi, eax
xor ebx, ebx
cmp edi, esi
je 0x598999
push 0x6a5cb0
inc ebx
call fcn.005c7292
lea eax, [edi + eax*2]
push 0x6a5cb0
push eax
call fcn.005c7ae5
add esp, 0xc
mov edi, eax
jmp 0x598975
cmp ebx, esi
je 0x598b04
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.00402060
push 0x6a5cb0
mov byte [ebp - 4], 0xf
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x598a28
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cb0
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov edi, eax
call fcn.005c7292
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x598a2b
jmp 0x598af8
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00402050
push 0x6a5cb0
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x598abb
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cb0
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x14]
push 0x6a5cb0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x598a44
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x6a5cac
test edx, edx
je 0x598cd6
mov eax, 0x6d0abc
test eax, eax
je 0x598cd6
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x598cd6
mov ecx, dword [ebp - 0x20]
push 0x6a5cac
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x598b69
push 0x6a5cac
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5cac
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x598b45
test edi, edi
je 0x598cd6
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.00402060
push 0x6a5cac
mov byte [ebp - 4], 0x10
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x598bfa
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x48]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cac
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x598bfd
jmp 0x598cca
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.00402050
push 0x6a5cac
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x598c8d
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cac
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x14]
push 0x6a5cac
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x598c16
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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 0x598ce0
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x598ec4
mov edx, 0x6a5ca8
test edx, edx
je 0x598ec4
mov eax, 0x6d0abc
test eax, eax
je 0x598ec4
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x598ec4
mov ecx, dword [ebp - 0x20]
push 0x6a5ca8
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x598d5b
push 0x6a5ca8
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5ca8
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x598d37
test edi, edi
je 0x598ec4
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d7a0
push 0x6a5ca8
mov byte [ebp - 4], 0x11
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x598de8
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x598da2
lea esi, [ebp - 0x38]
push 0x6a5ca8
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x50], edx
call fcn.005c7292
mov ecx, dword [ebp - 0x50]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x598deb
jmp 0x598eb8
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5ca8
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x598e7b
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5ca8
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x14]
push 0x6a5ca8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x598e04
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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 0x598ece
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x5990b2
mov edx, 0x6a5ca4
test edx, edx
je 0x5990b2
mov eax, 0x6d0abc
test eax, eax
je 0x5990b2
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x5990b2
mov ecx, dword [ebp - 0x20]
push 0x6a5ca4
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x598f49
push 0x6a5ca4
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5ca4
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x598f25
test edi, edi
je 0x5990b2
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d7a0
push 0x6a5ca4
mov byte [ebp - 4], 0x12
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x598fd6
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x3c]
test esi, esi
jne 0x598f90
lea esi, [ebp - 0x38]
push 0x6a5ca4
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x50], edx
call fcn.005c7292
mov ecx, dword [ebp - 0x50]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x598fd9
jmp 0x5990a6
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5ca4
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x599069
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5ca4
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp - 0x14]
push 0x6a5ca4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x598ff2
mov esi, dword [ebp - 0x24]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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.005c72c0
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.005c72c0
mov ebx, eax
mov eax, dword [ebp - 0x20]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x4c], ebx
jne 0x5990e1
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.00402060
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 0x13
cmp eax, edi
jne 0x599102
lea eax, [ebp - 0x7c]
push 0x2e
push eax
call fcn.005c71e2
mov edi, eax
add esp, 8
test edi, edi
je 0x59912a
mov word [edi], 0
add edi, 2
push edi
call fcn.005c7292
add esp, 4
test eax, eax
jne 0x59912a
xor edi, edi
test esi, esi
je 0x59a0e4
test ebx, ebx
je 0x59a051
cmp ebx, esi
ja 0x59a051
mov ecx, dword [ebp - 0x4c]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x59a051
test edi, edi
jne 0x59a0e4
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 0x599e94
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005dfcbc
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x60], ebx
je 0x59a0e4
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.005c77e0
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402980
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.00597bf0
push 0x2e
push ebx
call fcn.005c8240
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0x4c], edi
je 0x59a0db
push str..asp
push edi
call fcn.005c8740
add esp, 8
test eax, eax
je 0x59923f
push str..jsp
push edi
call fcn.005c8740
add esp, 8
test eax, eax
je 0x59923f
push str..cgi
push edi
call fcn.005c8740
add esp, 8
test eax, eax
je 0x59923f
push str..php
push edi
call fcn.005c8740
add esp, 8
test eax, eax
jne 0x59a0db
mov edi, dword [ebp - 0x30]
push 0x3d
mov eax, dword [edi + 0x28]
push eax
call fcn.005c8240
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 0x59a0db
mov eax, dword [ebp - 0x50]
cmp byte [ecx + eax - 1], 0x2e
je 0x59a0db
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 0x59928e
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov ecx, dword [0x6cc564]
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.005dc6eb
mov eax, dword [ebp - 0x64]
add esp, 0x14
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.00402980
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5992f0
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5992ed
cmp word [esi], 0x3a
jne 0x5992e8
mov word [esi], 0x2d
add esi, 2
jmp 0x5992d9
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x599324
test eax, eax
je 0x5994f7
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x599321
cmp word [esi], 0x2a
jne 0x59931c
mov word [esi], 0x2d
add esi, 2
jmp 0x59930d
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5994f7
push eax
mov esi, eax
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x59934e
cmp word [esi], 0x3f
jne 0x599349
mov word [esi], 0x2d
add esi, 2
jmp 0x59933a
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x599379
cmp word [esi], 0x7c
jne 0x599374
mov word [esi], 0x2d
add esi, 2
jmp 0x599365
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5993a4
cmp word [esi], 0x3c
jne 0x59939f
mov word [esi], 0x2d
add esi, 2
jmp 0x599390
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5993cf
cmp word [esi], 0x3e
jne 0x5993ca
mov word [esi], 0x2d
add esi, 2
jmp 0x5993bb
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5993fa
cmp word [esi], 0x22
jne 0x5993f5
mov word [esi], 0x2d
add esi, 2
jmp 0x5993e6
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x599425
cmp word [esi], 0x25
jne 0x599420
mov word [esi], 0x2d
add esi, 2
jmp 0x599411
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x599450
cmp word [esi], 0x5c
jne 0x59944b
mov word [esi], 0x2d
add esi, 2
jmp 0x59943c
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x59947b
cmp word [esi], 0x2f
jne 0x599476
mov word [esi], 0x5f
add esi, 2
jmp 0x599467
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5994a2
cmp word [esi], 0x27
jne 0x59949d
mov word [esi], 0x5f
add esi, 2
jmp 0x59948e
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5994c9
cmp word [esi], 0x2c
jne 0x5994c4
mov word [esi], 0x5f
add esi, 2
jmp 0x5994b5
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5994f7
push esi
call fcn.005c7292
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5994f0
cmp word [esi], 0x3b
jne 0x5994eb
mov word [esi], 0x5f
add esi, 2
jmp 0x5994dc
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x5994fa
lea esi, [ebp - 0x1c]
push esi
call fcn.005c7292
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x599519
cmp word [esi + ecx*2], 0x20
jae 0x599516
mov word [esi + ecx*2], 0x2d
inc ecx
jmp 0x599505
mov eax, dword [0x6d1154]
test eax, eax
jne 0x599e80
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x599530
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
jne 0x599562
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x59954c
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x599ab4
mov ecx, 0x6a5cb4
test ecx, ecx
je 0x599728
mov edx, 0x6d0abc
test edx, edx
je 0x599728
push edx
push ecx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x599728
mov eax, dword [ebp - 0x20]
push 0x6a5cb4
push eax
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5995c7
push 0x6a5cb4
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5cb4
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x5995a3
test edi, edi
je 0x599728
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0040d7a0
push 0x6a5cb4
mov byte [ebp - 4], 0x15
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x59964c
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cb4
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea edx, [esi + esi + 2]
push edx
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x59964f
jmp 0x59971c
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5cb4
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5996df
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cb4
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp + 0x10]
push 0x6a5cb4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x599668
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edx, 0x6a5cb0
test edx, edx
je 0x5998ee
mov eax, 0x6d0abc
test eax, eax
je 0x5998ee
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x5998ee
mov ecx, dword [ebp - 0x20]
push 0x6a5cb0
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x59978d
push 0x6a5cb0
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5cb0
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x599769
test edi, edi
je 0x5998ee
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d7a0
push 0x6a5cb0
mov byte [ebp - 4], 0x16
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x599812
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cb0
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x599815
jmp 0x5998e2
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5cb0
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5998a5
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cb0
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp + 0x10]
push 0x6a5cb0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x59982e
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov edx, 0x6a5cac
test edx, edx
je 0x599ab4
mov eax, 0x6d0abc
test eax, eax
je 0x599ab4
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x599ab4
mov ecx, dword [ebp - 0x20]
push 0x6a5cac
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x599953
push 0x6a5cac
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5cac
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x59992f
test edi, edi
je 0x599ab4
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d7a0
push 0x6a5cac
mov byte [ebp - 4], 0x17
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x5999d8
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5cac
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5999db
jmp 0x599aa8
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5cac
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x599a6b
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5cac
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp + 0x10]
push 0x6a5cac
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x5999f4
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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 0x599abe
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x599c9a
mov edx, 0x6a5ca8
test edx, edx
je 0x599c9a
mov eax, 0x6d0abc
test eax, eax
je 0x599c9a
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x599c9a
mov ecx, dword [ebp - 0x20]
push 0x6a5ca8
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x599b39
push 0x6a5ca8
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5ca8
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x599b15
test edi, edi
je 0x599c9a
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d7a0
push 0x6a5ca8
mov byte [ebp - 4], 0x18
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x599bbe
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5ca8
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x599bc1
jmp 0x599c8e
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5ca8
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x599c51
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5ca8
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp + 0x10]
push 0x6a5ca8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x599bda
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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 0x599ca4
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005c76ff
add esp, 8
test eax, eax
je 0x599e80
mov edx, 0x6a5ca4
test edx, edx
je 0x599e80
mov eax, 0x6d0abc
test eax, eax
je 0x599e80
push eax
push edx
call fcn.005c779f
add esp, 8
test eax, eax
je 0x599e80
mov ecx, dword [ebp - 0x20]
push 0x6a5ca4
push ecx
call fcn.005c7ae5
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x599d1f
push 0x6a5ca4
inc edi
call fcn.005c7292
lea eax, [esi + eax*2]
push 0x6a5ca4
push eax
call fcn.005c7ae5
add esp, 0xc
mov esi, eax
jmp 0x599cfb
test edi, edi
je 0x599e80
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
call fcn.0040d7a0
push 0x6a5ca4
mov byte [ebp - 4], 0x19
call fcn.005c7292
push 0x6d0abc
mov esi, eax
call fcn.005c7292
add esp, 8
cmp eax, esi
jbe 0x599da4
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402050
push eax
call fcn.005c7292
push 0x6a5ca4
mov esi, eax
call fcn.005c7292
push 0x6d0abc
mov ebx, eax
call fcn.005c7292
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005dfcbc
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x599da7
jmp 0x599e74
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402050
push 0x6a5ca4
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x599e37
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d0abc
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.005c7292
mov ecx, eax
mov esi, 0x6d0abc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d0abc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005c7292
push 0x6a5ca4
lea ebx, [ebx + eax*2]
call fcn.005c7292
mov ecx, dword [ebp + 0x10]
push 0x6a5ca4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005c7ae5
add esp, 0x14
jmp 0x599dc0
mov esi, dword [ebp - 0x14]
push esi
call fcn.005c7292
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.005c7292
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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.005e38b9
mov ebx, dword [ebp - 0x60]
jmp 0x59a0db
cmp ebx, esi
jae 0x599eb2
push 0x2e
push ebx
call fcn.005c72c0
add esp, 8
test eax, eax
je 0x599eb2
lea edx, [eax + 1]
cmp edx, esi
jae 0x599eb2
mov ebx, eax
jmp 0x599e94
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x59a040
push edi
call fcn.005dfcbc
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.005c77e0
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.00402980
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x1a
cmp eax, ebx
mov edi, eax
jne 0x599f16
lea edi, [ebp - 0x38]
mov esi, dword [ebp - 0x80]
cmp esi, ebx
jne 0x599f20
lea esi, [ebp - 0x7c]
mov eax, str._s._s
test eax, eax
je 0x59a023
cmp esi, ebx
je 0x59a023
cmp edi, ebx
je 0x59a023
push eax
lea ecx, [ebp - 0x74]
call fcn.00401fd0
push esi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1b
call fcn.0040d7a0
push edi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.0040d7a0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1d
call fcn.00401070
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x98]
call fcn.00402050
push eax
call fcn.005c7292
add esp, 4
lea ecx, [ebp - 0x48]
mov edi, eax
call fcn.00402050
push eax
call fcn.005c7292
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005dfcbc
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x20], edx
je 0x599ffc
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.00402050
push eax
lea ecx, [ebp - 0x48]
call fcn.00402050
push eax
lea ecx, [ebp - 0x74]
call fcn.00402050
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.005c7222
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005c7292
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.005dfce5
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x13
call fcn.00401070
jmp 0x59a0e4
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x20]
push eax
call fcn.00402060
jmp 0x59a0e4
test edi, edi
jne 0x59a0e4
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 0x59a0e4
cmp esi, edx
jbe 0x59a0e4
mov eax, dword [ebp - 0x4c]
inc eax
cmp eax, esi
je 0x59a0e4
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005dfcbc
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x59a0e4
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.005c77e0
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402980
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.00597bf0
push ebx
call fcn.005dfce5
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 0x59a21f
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.00402060
push 0x2e
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x1e
call fcn.00402050
push eax
call fcn.005c71e2
mov esi, eax
add esp, 8
cmp esi, edi
je 0x59a1c3
mov al, byte [ebp + 0x13]
test al, al
jne 0x59a14b
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.005e3979
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.005c9620
add esp, 0xc
test eax, eax
je 0x59a1b5
mov word [esi], di
mov eax, dword [ebx + 0x338]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401fd0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x20
call fcn.00402050
push eax
lea ecx, [ebp - 0x48]
call fcn.00402050
push eax
push 0x6a2074
lea ecx, [ebp - 0x20]
call fcn.0040eb20
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1f
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1e
call fcn.005e38b9
jmp 0x59a213
mov ebx, dword [ebx + 0x338]
lea ecx, [ebp - 0x74]
push ebx
call fcn.00401fd0
mov al, byte [ebp + 0x13]
mov byte [ebp - 4], 0x21
test al, al
mov esi, 0x6d0abc
jne 0x59a1e7
mov esi, 0x6a2e08
lea ecx, [ebp - 0x74]
call fcn.00402050
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.00402050
push eax
push 0x6a2b54
lea ecx, [ebp - 0x20]
call fcn.0043da60
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.005e38b9
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x44]
cmp eax, 4
je 0x59a247
cmp eax, 5
jne 0x59a27d
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00402050
push eax
call fcn.005c71e2
add esp, 8
test eax, eax
push str..flv
je 0x59a275
push eax
call fcn.005c996c
add esp, 8
test eax, eax
je 0x59a27d
push str..flv
lea ecx, [ebp - 0x20]
call fcn.00459ce0
lea ecx, [ebp - 0x8c]
call fcn.0041b680
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x22
test esi, esi
je 0x59a311
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00402050
push eax
call fcn.005c71e2
mov ecx, dword [0x6cc564]
add esp, 8
mov dword [ebp + 0x10], ecx
test eax, eax
mov byte [ebp - 4], 0x23
je 0x59a2c3
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.005e3a69
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.004a4500
test al, al
jne 0x59a2f5
lea eax, [ebp - 0x8c]
push eax
call fcn.00442b80
add esp, 4
jmp 0x59a303
mov ecx, dword [ebp - 0x9c]
push ecx
mov ecx, edi
call fcn.0058d070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x22
call fcn.005e38b9
jmp 0x59a320
lea edx, [ebp - 0x8c]
push edx
call fcn.00442b80
add esp, 4
lea ecx, [ebp - 0x8c]
call fcn.00402050
push eax
call fcn.005c7292
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x59a34a
mov esi, pe_nt_image_headers32
lea ecx, [ebp - 0x20]
call fcn.00402050
push eax
call fcn.005c7292
add esp, 4
cmp eax, esi
jbe 0x59a3a4
lea ecx, [ebp - 0x20]
call fcn.00402050
push eax
call fcn.005c7292
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x20]
sub ebx, esi
call fcn.00402050
lea eax, [eax + ebx*2]
lea ecx, [ebp - 0x74]
push eax
call fcn.0040d7a0
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0x24
push ecx
lea ecx, [ebp - 0x20]
call fcn.00402060
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x22
call fcn.00401070
lea ecx, [ebp - 0x8c]
call fcn.00402050
cmp word [eax + edi*2 - 2], 0x5c
mov esi, 0x6d0abc
je 0x59a3c1
mov esi, 0x6a2080
lea ecx, [ebp - 0x20]
call fcn.00402050
push eax
push esi
lea ecx, [ebp - 0x8c]
call fcn.00402050
mov ecx, dword [ebp + 0xc]
push eax
push 0x6a2b54
call fcn.0043da60
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