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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c8eed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
push ebx
push esi
push edi
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x4c], esi
mov word [ebp - 0x50], si
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], esi
mov word [ebp - 0x44], 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 0x5589b2
push esi
push edx
lea ecx, [ebp - 0x48]
call fcn.00402800
mov al, byte [ebx + 0x2cd]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0xe4]
push eax
neg al
push 1
push edx
sbb eax, eax
lea edx, [ebp - 0x48]
and eax, 0xfde9
push edx
push eax
push ecx
mov ecx, ebx
call fcn.005588f0
jmp 0x55a950
mov eax, dword [0x67da2c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebx + 0x28]
push 0x658eb8
push ecx
mov byte [ebp - 4], 3
call fcn.00584910
add esp, 8
test eax, eax
je 0x558cce
mov edx, dword [ebx + 0x28]
push 0x3d
push edx
call fcn.005857a0
mov esi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x38], esi
call fcn.005857a0
mov ecx, dword [ebx + 0x28]
mov edi, eax
push 0x2f
push ecx
mov dword [ebp - 0x34], edi
call fcn.005857a0
add esp, 0x18
cmp esi, edi
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x11], 0
jbe 0x558bcf
cmp esi, eax
jbe 0x558bcf
lea edx, [esi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x558bf7
push edx
lea ecx, [ebp - 0x18]
call fcn.005a0de6
mov edx, dword [ebp - 0x18]
push 0x2e
push edx
call fcn.005857a0
add esp, 8
mov dword [ebp - 0x28], eax
test eax, eax
je 0x558bcf
cmp eax, dword [ebp - 0x18]
je 0x558bcf
mov eax, dword [0x67da2c]
mov byte [ebp - 0x12], 0
mov dword [ebp - 0x20], eax
mov ecx, dword [ebx + 0x28]
lea edx, [ebp - 0x20]
push ecx
push 0x656f5c
push edx
mov byte [ebp - 4], 4
call fcn.00599a28
mov eax, dword [ebp - 0x20]
add esp, 0xc
push 0x3f
push eax
call fcn.00584850
add esp, 8
test eax, eax
je 0x558a96
mov byte [eax], 0
mov ecx, dword [ebp - 0x20]
push 0x2e
push ecx
call fcn.005857a0
mov esi, eax
add esp, 8
test esi, esi
mov dword [ebp - 0x30], esi
je 0x558b1a
inc esi
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x30], esi
je 0x558b1a
mov edx, dword [0x67da2c]
mov dword [ebp - 0x24], edx
push esi
lea eax, [ebp - 0x24]
push 0x656f5c
push eax
mov byte [ebp - 4], 5
call fcn.00599a28
add esp, 0xc
lea ecx, [ebp - 0x24]
call fcn.005a10a5
mov ecx, dword [ebp - 0x24]
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_SEA_SIT_SITX_TAR_TIF_TIFF_WAV_WMA_WMV_Z_ZIP
call fcn.00584910
add esp, 8
test eax, eax
je 0x558b0e
push 0x2a
push esi
call fcn.00584850
add esp, 8
test eax, eax
jne 0x558b0e
mov byte [ebp - 0x12], 1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.005a0c5d
mov esi, dword [ebp - 0x28]
or ecx, 0xffffffff
inc esi
xor eax, eax
mov dword [ebp - 0x28], esi
mov esi, dword [ebx + 0xec]
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x558b4b
mov esi, dword [ebx + 0xdc]
test esi, esi
je 0x558b9e
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x558b9e
test esi, esi
je 0x558b9e
mov al, byte [ebp - 0x12]
test al, al
je 0x558b69
mov edx, dword [ebp - 0x30]
mov ecx, 0x6824e0
push edx
push esi
call fcn.00424940
test eax, eax
jne 0x558ba5
mov ecx, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x30]
call fcn.005a0ccb
mov edx, dword [ebp - 0x30]
mov ecx, 0x6824e0
push edx
push esi
mov byte [ebp - 4], 6
call fcn.00424940
test eax, eax
je 0x558b90
mov byte [ebp - 0x11], 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.005a0c5d
jmp 0x558bb5
mov al, byte [ebp - 0x12]
test al, al
je 0x558bb1
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x18]
push eax
call fcn.005a0d96
mov byte [ebp - 0x11], 1
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.005a0c5d
mov al, byte [ebp - 0x11]
test al, al
jne 0x558c5f
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp eax, esi
jbe 0x558c17
cmp eax, dword [ebp - 0x2c]
jbe 0x558c17
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x558bf7
push edx
lea ecx, [ebp - 0x18]
call fcn.005a0de6
jmp 0x558c5f
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x18]
call fcn.005a0de6
mov edx, dword [ebp - 0x18]
push 0x3f
push edx
call fcn.00584850
add esp, 8
test eax, eax
je 0x558c5f
jmp 0x558c5c
test eax, eax
jne 0x558c3e
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x558c3e
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x558c3e
push edx
lea ecx, [ebp - 0x18]
call fcn.005a0de6
jmp 0x558c5f
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x18]
call fcn.005a0de6
mov edx, dword [ebp - 0x18]
push 0x3f
push edx
call fcn.00584850
add esp, 8
test eax, eax
je 0x558c5f
mov byte [eax], 0
mov esi, dword [ebx + 0x168]
mov ebx, dword [ebp - 0x18]
lea ecx, [ebp - 0x54]
call fcn.00401070
test ebx, ebx
je 0x558d3d
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x558d3d
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 - 0x4c], eax
je 0x558d3d
lea eax, [eax + eax + 2]
push eax
call fcn.0059cff9
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x558d44
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x4c], eax
jmp 0x558d3d
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x54]
mov esi, dword [eax + 0x168]
mov ebx, dword [eax + 0x28]
call fcn.00401070
test ebx, ebx
je 0x558d2e
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x558d2e
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 - 0x4c], eax
je 0x558d2e
lea edx, [eax + eax + 2]
push edx
call fcn.0059cff9
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x558d2e
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x18]
mov eax, dword [edx + 0x28]
push eax
call fcn.005a0de6
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x558d47
lea eax, [ebp - 0x50]
push eax
call fcn.00584816
add esp, 4
cmp eax, 0x7d0
jae 0x558d76
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x54]
push edx
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x168]
push eax
push edx
call fcn.005588f0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x558d80
lea eax, [ebp - 0x50]
push 0x3d
push eax
call fcn.00584766
mov ebx, eax
mov eax, dword [ebp - 0x54]
add esp, 8
test eax, eax
jne 0x558d97
lea eax, [ebp - 0x50]
push 0x3f
push eax
call fcn.00584766
mov edi, eax
mov eax, dword [ebp - 0x54]
add esp, 8
test eax, eax
jne 0x558dae
lea eax, [ebp - 0x50]
push 0x2f
push eax
call fcn.00584766
add esp, 8
cmp edi, ebx
jae 0x558dc9
cmp ebx, eax
jbe 0x558dc7
add ebx, 2
push ebx
jmp 0x558ddd
cmp edi, ebx
jbe 0x558dd5
cmp edi, eax
jbe 0x558dd5
add edi, 2
push edi
jmp 0x558ddd
test eax, eax
je 0x558de5
add eax, 2
push eax
lea ecx, [ebp - 0x54]
call fcn.00401ee0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x558def
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x48]
call fcn.00401ee0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x558e02
lea eax, [ebp - 0x50]
push eax
call fcn.00584816
add esp, 4
test eax, eax
jne 0x5590cb
mov esi, dword [ebp - 0x1c]
mov ebx, 1
mov edx, dword [esi + 0x24]
test edx, edx
je 0x558f42
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebx
jbe 0x558f42
mov eax, dword [0x67da2c]
mov dword [ebp - 0x20], eax
push edx
lea ecx, [ebp - 0x20]
push 0x656f5c
push ecx
mov byte [ebp - 4], 7
call fcn.00599a28
mov edx, dword [ebp - 0x20]
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 0x558e7b
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x20]
call fcn.005a10c9
mov edx, dword [ebp - 0x20]
push 0x2f
push edx
call fcn.005857a0
add esp, 8
test eax, eax
je 0x558f2e
inc eax
push 0
push eax
lea ecx, [ebp - 0x48]
call fcn.00402800
mov edx, 0x65e22c
test edx, edx
je 0x558f2c
push edx
call fcn.00584816
add esp, 4
test eax, eax
je 0x558f2c
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x558ec8
push eax
call fcn.00584816
add esp, 4
mov edi, eax
jmp 0x558eca
xor edi, edi
push 0x65e22c
call fcn.00584816
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.0059cff9
mov edi, eax
add esp, 8
test edi, edi
je 0x558f2c
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x558f07
push eax
push edi
call fcn.005849ba
push 0x65e22c
push edi
call fcn.00584990
add esp, 0x10
jmp 0x558f15
push 0x65e22c
push edi
call fcn.005849ba
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.00401070
push edi
mov dword [ebp - 0x48], edi
call fcn.00584816
add esp, 4
mov dword [ebp - 0x40], eax
xor ebx, ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.005a0c5d
test ebx, ebx
je 0x5590a7
mov eax, dword [esi + 0x20]
test eax, eax
je 0x5590a7
xor esi, esi
lea ecx, [ebp - 0x60]
push esi
push eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x58], esi
mov word [ebp - 0x5c], si
call fcn.00402800
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 8
cmp eax, esi
jne 0x558f71
lea eax, [ebp - 0x5c]
push 0x2e
push eax
call fcn.00584766
add esp, 8
cmp eax, esi
je 0x55909b
xor esi, esi
mov word [eax], si
mov edi, dword [ebp - 0x60]
cmp edi, esi
je 0x558fb7
push edi
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x558fb0
cmp word [edi], 0x2e
jne 0x558fab
mov word [edi], 0x5f
add edi, 2
jmp 0x558f9c
mov eax, dword [ebp - 0x60]
cmp eax, esi
jne 0x558fba
lea eax, [ebp - 0x5c]
mov ecx, str._s_default.html
test ecx, ecx
je 0x55909b
cmp eax, esi
je 0x55909b
push eax
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x7c], esi
mov word [ebp - 0x80], si
call fcn.00401ee0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 9
call fcn.00401070
push str._s_default.html
lea ecx, [ebp - 0x90]
call fcn.00401e50
mov edi, dword [ebp - 0x88]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xa
call fcn.00401ed0
push eax
call fcn.00584816
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.0059cff9
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x48], edx
je 0x55907d
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 - 0x84]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x90]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x48]
push ebx
push eax
call fcn.005847a6
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0x14
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 9
call fcn.00401070
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x5590b1
lea eax, [ebp - 0x44]
push eax
call fcn.00584816
add esp, 4
test eax, eax
jne 0x5590cb
push str.default.html
lea ecx, [ebp - 0x48]
call fcn.00401ee0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x5590f7
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5590f4
cmp word [edi], 0x3a
jne 0x5590ef
mov word [edi], 0x2d
add edi, 2
jmp 0x5590e0
mov eax, dword [ebp - 0x48]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x55912b
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x559128
cmp word [edi], 0x2a
jne 0x559123
mov word [edi], 0x2d
add edi, 2
jmp 0x559114
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x559155
cmp word [edi], 0x3f
jne 0x559150
mov word [edi], 0x2d
add edi, 2
jmp 0x559141
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x559182
cmp word [edi], 0x7c
jne 0x55917d
mov word [edi], 0x2d
add edi, 2
jmp 0x55916e
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5591af
cmp word [edi], 0x3c
jne 0x5591aa
mov word [edi], 0x2d
add edi, 2
jmp 0x55919b
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5591dc
cmp word [edi], 0x3e
jne 0x5591d7
mov word [edi], 0x2d
add edi, 2
jmp 0x5591c8
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x559205
cmp word [edi], 0x22
jne 0x559200
mov word [edi], 0x2d
add edi, 2
jmp 0x5591f1
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x55922e
cmp word [edi], 0x25
jne 0x559229
mov word [edi], 0x2d
add edi, 2
jmp 0x55921a
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55925a
push eax
mov edi, eax
call fcn.00584816
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x559257
cmp word [edi], 0x5c
jne 0x559252
mov word [edi], 0x2d
add edi, 2
jmp 0x559243
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x6825c0]
test ecx, ecx
jne 0x559c1b
test eax, eax
jne 0x55926f
lea eax, [ebp - 0x44]
push 0x202a
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
jne 0x5592a1
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x55928b
lea eax, [ebp - 0x44]
push 0x202d
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
je 0x55982f
mov edx, 0x65a408
test edx, edx
je 0x55947b
mov eax, 0x681f7c
test eax, eax
je 0x55947b
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x55947b
mov ecx, dword [ebp - 0x48]
push 0x65a408
push ecx
call fcn.00585047
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x559306
push 0x65a408
inc ebx
call fcn.00584816
lea eax, [edi + eax*2]
push 0x65a408
push eax
call fcn.00585047
add esp, 0xc
mov edi, eax
jmp 0x5592e2
test ebx, ebx
je 0x55947b
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a408
mov byte [ebp - 4], 0xb
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x559399
lea ecx, [ebp - 0x48]
call fcn.00401070
mov esi, dword [ebp - 0x84]
test esi, esi
jne 0x559353
lea esi, [ebp - 0x80]
push 0x65a408
call fcn.00584816
push 0x681f7c
mov edi, eax
call fcn.00584816
mov edx, eax
push esi
sub edx, edi
imul edx, ebx
mov dword [ebp - 0x38], edx
call fcn.00584816
mov ecx, dword [ebp - 0x38]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x55939c
jmp 0x55946c
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a408
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x55942f
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a408
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp - 0x24]
push 0x65a408
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 0x14
jmp 0x5593b8
mov esi, dword [ebp - 0x20]
push esi
call fcn.00584816
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x20]
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x65a404
test edx, edx
je 0x559655
mov eax, 0x681f7c
test eax, eax
je 0x559655
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x559655
mov ecx, dword [ebp - 0x48]
push 0x65a404
push ecx
call fcn.00585047
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x5594e0
push 0x65a404
inc ebx
call fcn.00584816
lea eax, [edi + eax*2]
push 0x65a404
push eax
call fcn.00585047
add esp, 0xc
mov edi, eax
jmp 0x5594bc
test ebx, ebx
je 0x559655
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a404
mov byte [ebp - 4], 0xc
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x559573
lea ecx, [ebp - 0x48]
call fcn.00401070
mov esi, dword [ebp - 0x84]
test esi, esi
jne 0x55952d
lea esi, [ebp - 0x80]
push 0x65a404
call fcn.00584816
push 0x681f7c
mov edi, eax
call fcn.00584816
mov edx, eax
push esi
sub edx, edi
imul edx, ebx
mov dword [ebp - 0x38], edx
call fcn.00584816
mov ecx, dword [ebp - 0x38]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x559576
jmp 0x559646
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a404
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x559609
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a404
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp - 0x24]
push 0x65a404
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 0x14
jmp 0x559592
mov esi, dword [ebp - 0x20]
push esi
call fcn.00584816
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x20]
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00401070
mov edx, 0x65a400
test edx, edx
je 0x55982f
mov eax, 0x681f7c
test eax, eax
je 0x55982f
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x55982f
mov ecx, dword [ebp - 0x48]
push 0x65a400
push ecx
call fcn.00585047
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5596ba
push 0x65a400
inc edi
call fcn.00584816
lea eax, [esi + eax*2]
push 0x65a400
push eax
call fcn.00585047
add esp, 0xc
mov esi, eax
jmp 0x559696
test edi, edi
je 0x55982f
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a400
mov byte [ebp - 4], 0xd
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x55974d
lea ecx, [ebp - 0x48]
call fcn.00401070
mov esi, dword [ebp - 0x84]
test esi, esi
jne 0x559707
lea esi, [ebp - 0x80]
push 0x65a400
call fcn.00584816
push 0x681f7c
mov ebx, eax
call fcn.00584816
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x38], edx
call fcn.00584816
mov ecx, dword [ebp - 0x38]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x559750
jmp 0x559820
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a400
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x5597e3
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a400
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp - 0x24]
push 0x65a400
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 0x14
jmp 0x55976c
mov esi, dword [ebp - 0x20]
push esi
call fcn.00584816
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x20]
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x559839
lea eax, [ebp - 0x44]
push 0x200e
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
je 0x559a29
mov edx, 0x65a3fc
test edx, edx
je 0x559a29
mov eax, 0x681f7c
test eax, eax
je 0x559a29
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x559a29
mov ecx, dword [ebp - 0x48]
push 0x65a3fc
push ecx
call fcn.00585047
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5598b4
push 0x65a3fc
inc edi
call fcn.00584816
lea eax, [esi + eax*2]
push 0x65a3fc
push eax
call fcn.00585047
add esp, 0xc
mov esi, eax
jmp 0x559890
test edi, edi
je 0x559a29
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a3fc
mov byte [ebp - 4], 0xe
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x559947
lea ecx, [ebp - 0x48]
call fcn.00401070
mov esi, dword [ebp - 0x84]
test esi, esi
jne 0x559901
lea esi, [ebp - 0x80]
push 0x65a3fc
call fcn.00584816
push 0x681f7c
mov ebx, eax
call fcn.00584816
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp - 0x38], edx
call fcn.00584816
mov ecx, dword [ebp - 0x38]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x55994a
jmp 0x559a1a
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a3fc
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x5599dd
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a3fc
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp - 0x24]
push 0x65a3fc
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 0x14
jmp 0x559966
mov esi, dword [ebp - 0x20]
push esi
call fcn.00584816
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x20]
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x559a33
lea eax, [ebp - 0x44]
push 0x200f
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
je 0x559c1b
mov edx, 0x65a3f8
test edx, edx
je 0x559c1b
mov eax, 0x681f7c
test eax, eax
je 0x559c1b
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x559c1b
mov ecx, dword [ebp - 0x48]
push 0x65a3f8
push ecx
call fcn.00585047
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x559aae
push 0x65a3f8
inc edi
call fcn.00584816
lea eax, [esi + eax*2]
push 0x65a3f8
push eax
call fcn.00585047
add esp, 0xc
mov esi, eax
jmp 0x559a8a
test edi, edi
je 0x559c1b
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a3f8
mov byte [ebp - 4], 0xf
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x559b39
lea ecx, [ebp - 0x48]
call fcn.00401070
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push eax
call fcn.00584816
push 0x65a3f8
mov esi, eax
call fcn.00584816
push 0x681f7c
mov ebx, eax
call fcn.00584816
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x559b3c
jmp 0x559c0c
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a3f8
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp - 0x24], eax
je 0x559bcf
mov esi, dword [ebp - 0x20]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a3f8
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp - 0x24]
push 0x65a3f8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x20], eax
call fcn.00585047
add esp, 0x14
jmp 0x559b58
mov esi, dword [ebp - 0x20]
push esi
call fcn.00584816
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x20]
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00401070
mov edi, dword [ebp - 0x1c]
push 0x3f
mov edx, dword [edi + 0x28]
push edx
call fcn.00584850
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.00584850
mov ebx, eax
mov eax, dword [ebp - 0x48]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x34], ebx
jne 0x559c4a
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x64], edi
mov word [ebp - 0x68], di
call fcn.00401ee0
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 4], 0x10
cmp eax, edi
jne 0x559c6b
lea eax, [ebp - 0x68]
push 0x2e
push eax
call fcn.00584766
mov edi, eax
add esp, 8
test edi, edi
je 0x559c93
mov word [edi], 0
add edi, 2
push edi
call fcn.00584816
add esp, 4
test eax, eax
jne 0x559c93
xor edi, edi
test esi, esi
je 0x55a7e4
test ebx, ebx
je 0x55a751
cmp ebx, esi
ja 0x55a751
mov ecx, dword [ebp - 0x34]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x55a751
test edi, edi
jne 0x55a7e4
mov edx, dword [ebp - 0x1c]
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 0x55a67f
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.0059cff9
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x30], ebx
je 0x55a7e4
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 - 0x1c]
mov ecx, esi
mov eax, dword [eax + 0x28]
sub ecx, eax
push ecx
push eax
push ebx
call fcn.00584d70
push 0x2e
push ebx
call fcn.005857a0
add esp, 0x14
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], eax
push 0
push ebx
call fcn.00402800
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x55a7db
push str..asp
push edi
call fcn.0058dd90
add esp, 8
test eax, eax
je 0x559d8a
push str..jsp
push edi
call fcn.0058dd90
add esp, 8
test eax, eax
je 0x559d8a
push str..cgi
push edi
call fcn.0058dd90
add esp, 8
test eax, eax
je 0x559d8a
push str..php
push edi
call fcn.0058dd90
add esp, 8
test eax, eax
jne 0x55a7db
mov edi, dword [ebp - 0x1c]
push 0x3d
mov edx, dword [edi + 0x28]
push edx
call fcn.005857a0
mov edi, dword [edi + 0x28]
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
mov dword [ebp - 0x38], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, esi
jbe 0x55a7db
mov eax, dword [ebp - 0x38]
cmp byte [eax + ecx - 1], 0x2e
je 0x55a7db
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 0x559dd9
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x34]
mov byte [eax], 0
mov ecx, dword [0x67da2c]
mov dword [ebp - 0x2c], ecx
inc eax
mov byte [ebp - 4], 0x11
push eax
push edx
push ebx
lea edx, [ebp - 0x2c]
push str._s__s._s
push edx
call fcn.00599a28
mov eax, dword [ebp - 0x2c]
add esp, 0x14
lea ecx, [ebp - 0x48]
push 0
push eax
call fcn.00402800
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x559e3b
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559e38
cmp word [esi], 0x3a
jne 0x559e33
mov word [esi], 0x2d
add esi, 2
jmp 0x559e24
mov eax, dword [ebp - 0x48]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x559e6f
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559e6c
cmp word [esi], 0x2a
jne 0x559e67
mov word [esi], 0x2d
add esi, 2
jmp 0x559e58
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559e99
cmp word [esi], 0x3f
jne 0x559e94
mov word [esi], 0x2d
add esi, 2
jmp 0x559e85
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559ec6
cmp word [esi], 0x7c
jne 0x559ec1
mov word [esi], 0x2d
add esi, 2
jmp 0x559eb2
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559ef3
cmp word [esi], 0x3c
jne 0x559eee
mov word [esi], 0x2d
add esi, 2
jmp 0x559edf
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559f20
cmp word [esi], 0x3e
jne 0x559f1b
mov word [esi], 0x2d
add esi, 2
jmp 0x559f0c
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559f4d
cmp word [esi], 0x22
jne 0x559f48
mov word [esi], 0x2d
add esi, 2
jmp 0x559f39
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559f7a
cmp word [esi], 0x25
jne 0x559f75
mov word [esi], 0x2d
add esi, 2
jmp 0x559f66
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559fa7
cmp word [esi], 0x5c
jne 0x559fa2
mov word [esi], 0x2d
add esi, 2
jmp 0x559f93
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559fd4
cmp word [esi], 0x2f
jne 0x559fcf
mov word [esi], 0x5f
add esi, 2
jmp 0x559fc0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x559ffd
cmp word [esi], 0x27
jne 0x559ff8
mov word [esi], 0x5f
add esi, 2
jmp 0x559fe9
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x55a026
cmp word [esi], 0x2c
jne 0x55a021
mov word [esi], 0x5f
add esi, 2
jmp 0x55a012
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x55a052
push eax
mov esi, eax
call fcn.00584816
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x55a04f
cmp word [esi], 0x3b
jne 0x55a04a
mov word [esi], 0x5f
add esi, 2
jmp 0x55a03b
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x6825c0]
test ecx, ecx
jne 0x55a66b
test eax, eax
jne 0x55a067
lea eax, [ebp - 0x44]
push 0x202a
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
jne 0x55a099
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x55a083
lea eax, [ebp - 0x44]
push 0x202d
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
je 0x55a60f
mov ecx, 0x65a408
test ecx, ecx
je 0x55a26b
mov edx, 0x681f7c
test edx, edx
je 0x55a26b
push edx
push ecx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x55a26b
mov eax, dword [ebp - 0x48]
push 0x65a408
push eax
call fcn.00585047
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x55a0fe
push 0x65a408
inc edi
call fcn.00584816
lea eax, [esi + eax*2]
push 0x65a408
push eax
call fcn.00585047
add esp, 0xc
mov esi, eax
jmp 0x55a0da
test edi, edi
je 0x55a26b
mov ecx, dword [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x84]
call fcn.00403ad0
push 0x65a408
mov byte [ebp - 4], 0x12
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x55a189
lea ecx, [ebp - 0x48]
call fcn.00401070
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push eax
call fcn.00584816
push 0x65a408
mov esi, eax
call fcn.00584816
push 0x681f7c
mov ebx, eax
call fcn.00584816
sub eax, ebx
imul eax, edi
add esi, eax
lea edx, [esi + esi + 2]
push edx
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x55a18c
jmp 0x55a25c
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a408
push eax
mov dword [ebp - 0x24], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x55a21f
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a408
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp + 0x10]
push 0x65a408
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.00585047
add esp, 0x14
jmp 0x55a1a8
mov esi, dword [ebp - 0x24]
push esi
call fcn.00584816
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x11
call fcn.00401070
mov edx, 0x65a404
test edx, edx
je 0x55a43d
mov eax, 0x681f7c
test eax, eax
je 0x55a43d
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x55a43d
mov ecx, dword [ebp - 0x48]
push 0x65a404
push ecx
call fcn.00585047
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x55a2d0
push 0x65a404
inc edi
call fcn.00584816
lea eax, [esi + eax*2]
push 0x65a404
push eax
call fcn.00585047
add esp, 0xc
mov esi, eax
jmp 0x55a2ac
test edi, edi
je 0x55a43d
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a404
mov byte [ebp - 4], 0x13
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x55a35b
lea ecx, [ebp - 0x48]
call fcn.00401070
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push eax
call fcn.00584816
push 0x65a404
mov esi, eax
call fcn.00584816
push 0x681f7c
mov ebx, eax
call fcn.00584816
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x55a35e
jmp 0x55a42e
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a404
push eax
mov dword [ebp - 0x24], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x55a3f1
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a404
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp + 0x10]
push 0x65a404
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.00585047
add esp, 0x14
jmp 0x55a37a
mov esi, dword [ebp - 0x24]
push esi
call fcn.00584816
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x11
call fcn.00401070
mov edx, 0x65a400
test edx, edx
je 0x55a60f
mov eax, 0x681f7c
test eax, eax
je 0x55a60f
push eax
push edx
call fcn.00584d2f
add esp, 8
test eax, eax
je 0x55a60f
mov ecx, dword [ebp - 0x48]
push 0x65a400
push ecx
call fcn.00585047
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x55a4a2
push 0x65a400
inc edi
call fcn.00584816
lea eax, [esi + eax*2]
push 0x65a400
push eax
call fcn.00585047
add esp, 0xc
mov esi, eax
jmp 0x55a47e
test edi, edi
je 0x55a60f
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push edx
call fcn.00403ad0
push 0x65a400
mov byte [ebp - 4], 0x14
call fcn.00584816
push 0x681f7c
mov esi, eax
call fcn.00584816
add esp, 8
cmp eax, esi
jbe 0x55a52d
lea ecx, [ebp - 0x48]
call fcn.00401070
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push eax
call fcn.00584816
push 0x65a400
mov esi, eax
call fcn.00584816
push 0x681f7c
mov ebx, eax
call fcn.00584816
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.0059cff9
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x48], ebx
jne 0x55a530
jmp 0x55a600
mov ebx, dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push 0x65a400
push eax
mov dword [ebp - 0x24], eax
call fcn.00585047
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x55a5c3
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x681f7c
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.00584816
mov ecx, eax
mov esi, 0x681f7c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x681f7c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00584816
push 0x65a400
lea ebx, [ebx + eax*2]
call fcn.00584816
mov ecx, dword [ebp + 0x10]
push 0x65a400
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.00585047
add esp, 0x14
jmp 0x55a54c
mov esi, dword [ebp - 0x24]
push esi
call fcn.00584816
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.00584816
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00584816
add esp, 0xc
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x11
call fcn.00401070
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x55a619
lea eax, [ebp - 0x44]
push 0x200e
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
je 0x55a63d
push 0x681f7c
push 0x65a3fc
lea ecx, [ebp - 0x48]
call fcn.0042fdf0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x55a647
lea eax, [ebp - 0x44]
push 0x200f
push eax
call fcn.00584c8f
add esp, 8
test eax, eax
je 0x55a66b
push 0x681f7c
push 0x65a3f8
lea ecx, [ebp - 0x48]
call fcn.0042fdf0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
call fcn.005a0c5d
mov ebx, dword [ebp - 0x30]
jmp 0x55a7db
cmp ebx, esi
jae 0x55a69d
push 0x2e
push ebx
call fcn.00584850
add esp, 8
test eax, eax
je 0x55a69d
lea edx, [eax + 1]
cmp edx, esi
jae 0x55a69d
mov ebx, eax
jmp 0x55a67f
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x55a740
push edi
call fcn.0059cff9
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.00584d70
add esp, 0xc
xor edi, edi
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], edi
push edi
push esi
mov dword [ebp - 0x7c], edi
mov word [ebp - 0x80], di
call fcn.00402800
mov eax, dword [ebp - 0x84]
mov byte [ebp - 4], 0x15
cmp eax, edi
mov ecx, eax
jne 0x55a70a
lea ecx, [ebp - 0x80]
mov eax, dword [ebp - 0x6c]
cmp eax, edi
jne 0x55a714
lea eax, [ebp - 0x68]
push ecx
push eax
push str._s._s
lea ecx, [ebp - 0x48]
call fcn.004101b0
push esi
call fcn.0059d022
add esp, 4
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x10
call fcn.00401070
jmp 0x55a7e4
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x48]
push eax
call fcn.00401ee0
jmp 0x55a7e4
test edi, edi
jne 0x55a7e4
mov ecx, dword [ebp - 0x1c]
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 0x55a7e4
cmp esi, edx
jbe 0x55a7e4
mov eax, dword [ebp - 0x34]
inc eax
cmp eax, esi
je 0x55a7e4
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.0059cff9
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x55a7e4
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 - 0x1c]
mov eax, dword [eax + 0x28]
sub esi, eax
push esi
push eax
push ebx
call fcn.00584d70
add esp, 0xc
lea ecx, [ebp - 0x48]
push 0
push ebx
call fcn.00402800
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ecx + 0x168]
push eax
push ebx
call fcn.005588f0
push ebx
call fcn.0059d022
add esp, 4
mov ebx, dword [ebp - 0x1c]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0x2e4]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x55a938
mov cl, byte [edx]
cmp cl, 0x2e
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x84]
sete byte [ebp + 0x13]
call fcn.0049d530
mov eax, dword [ebp - 0x84]
mov byte [ebp - 4], 0x16
test eax, eax
jne 0x55a828
lea eax, [ebp - 0x80]
push 0x2e
push eax
call fcn.00584766
mov esi, eax
add esp, 8
test esi, esi
je 0x55a8cd
mov al, byte [ebp + 0x13]
test al, al
jne 0x55a847
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.005a0d1d
mov eax, dword [ebx + 0x2e4]
mov edx, dword [ebp + 0x10]
mov byte [ebp - 4], 0x17
mov ecx, dword [eax - 8]
inc ecx
push ecx
push eax
push edx
call fcn.00586aa0
add esp, 0xc
test eax, eax
je 0x55a8bf
mov word [esi], 0
mov eax, dword [ebx + 0x2e4]
push eax
lea ecx, [ebp - 0x90]
call fcn.00401e50
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x18
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push eax
push 0x656fdc
lea ecx, [ebp - 0x48]
call fcn.004101b0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x16
call fcn.005a0c5d
jmp 0x55a929
mov ebx, dword [ebx + 0x2e4]
lea ecx, [ebp - 0x90]
push ebx
call fcn.00401e50
mov al, byte [ebp + 0x13]
mov byte [ebp - 4], 0x19
test al, al
mov esi, 0x681f7c
jne 0x55a8f4
mov esi, 0x676024
lea ecx, [ebp - 0x90]
call fcn.00401ed0
push eax
push esi
lea ecx, [ebp - 0x84]
call fcn.00401ed0
push eax
push 0x657984
lea ecx, [ebp - 0x48]
call fcn.00432fc0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x16
call fcn.00401070
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x10
call fcn.00401070
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.005a0c5d
mov edi, dword [ebp - 0x1c]
cmp dword [edi + 0x44], 4
jne 0x55a98f
push 0x2e
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
call fcn.00584766
add esp, 8
test eax, eax
push str..flv
je 0x55a987
push eax
call fcn.00586dec
add esp, 8
test eax, eax
je 0x55a98f
push str..flv
lea ecx, [ebp - 0x48]
call fcn.00449e70
lea ecx, [ebp - 0x78]
call fcn.00414d50
mov esi, dword [ebp + 8]
mov bl, 0x1a
test esi, esi
mov byte [ebp - 4], bl
je 0x55aa10
push 0x2e
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
call fcn.00584766
mov ecx, dword [0x67da2c]
add esp, 8
mov dword [ebp + 0x10], ecx
test eax, eax
mov byte [ebp - 4], 0x1b
je 0x55a9d3
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.005a0e0d
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x78]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00487dd0
test al, al
jne 0x55a9f8
lea edx, [ebp - 0x78]
push edx
call fcn.00437440
add esp, 4
jmp 0x55aa03
mov eax, dword [ebp - 0x3c]
mov ecx, edi
push eax
call fcn.0054fb10
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], bl
call fcn.005a0c5d
jmp 0x55aa1c
lea ecx, [ebp - 0x78]
push ecx
call fcn.00437440
add esp, 4
lea ecx, [ebp - 0x78]
call fcn.00401ed0
push eax
call fcn.00584816
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x55aa43
mov esi, 0x100
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
call fcn.00584816
add esp, 4
cmp eax, esi
jbe 0x55aaab
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
call fcn.00584816
mov edx, eax
add esp, 4
sub edx, esi
lea ecx, [ebp - 0x48]
mov dword [ebp + 0x10], edx
call fcn.00401ed0
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x90]
lea eax, [eax + edx*2]
push eax
call fcn.00403ad0
mov ecx, dword [ebp - 0x90]
mov byte [ebp - 4], 0x1c
push ecx
lea ecx, [ebp - 0x48]
call fcn.00401ee0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x78]
call fcn.00401ed0
cmp word [eax + edi*2 - 2], 0x5c
mov esi, 0x681f7c
je 0x55aac5
mov esi, 0x656fe4
lea ecx, [ebp - 0x48]
call fcn.00401ed0
push eax
push esi
lea ecx, [ebp - 0x78]
call fcn.00401ed0
mov ecx, dword [ebp + 0xc]
push eax
push 0x657984
call fcn.00432fc0
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.00401070
lea ecx, [ebp - 0x54]
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