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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62ed5f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9c
push ebx
push esi
push edi
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x58], esi
mov word [ebp - 0x5c], 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 0x5b6607
push esi
push edx
lea ecx, [ebp - 0x20]
call fcn.00402e00
mov al, byte [ebx + 0x329]
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.005b6540
mov edi, dword [ebp - 0x44]
xor ebx, ebx
jmp 0x5b9135
mov eax, dword [0x6cd768]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x11c]
mov byte [ebp - 4], 3
cmp eax, esi
mov byte [ebp - 0x25], 0
jne 0x5b6627
lea eax, [ebx + 0x120]
push eax
call fcn.005e71bf
add esp, 4
test eax, eax
je 0x5b687e
xor eax, eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x38], si
mov edi, dword [ebx + 0x11c]
mov byte [ebp - 4], 4
cmp edi, esi
jne 0x5b665c
lea edi, [ebx + 0x120]
cmp edi, esi
je 0x5b66bd
cmp eax, esi
je 0x5b66bd
push edi
call fcn.005e71bf
add esp, 4
test eax, eax
je 0x5b66bd
mov eax, dword [ebp - 0x3c]
cmp eax, edi
ja 0x5b66bd
push eax
call fcn.005e71bf
mov ecx, dword [ebp - 0x3c]
add esp, 4
lea edx, [ecx + eax*2]
cmp edx, edi
jb 0x5b66bd
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00402410
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.00402400
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402410
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call fcn.00401070
jmp 0x5b6706
lea ecx, [ebp - 0x3c]
call fcn.00401070
cmp edi, esi
je 0x5b6706
push edi
call fcn.005e71bf
add esp, 4
test eax, eax
je 0x5b6706
push edi
call fcn.005e71bf
lea eax, [eax + eax + 2]
push eax
call fcn.005ffe3f
add esp, 8
cmp eax, esi
mov dword [ebp - 0x3c], eax
je 0x5b670d
push edi
call fcn.005e71bf
mov ecx, dword [ebp - 0x3c]
push edi
push ecx
mov dword [ebp - 0x34], eax
call fcn.005e7389
add esp, 0xc
mov eax, dword [ebp - 0x3c]
cmp eax, esi
jne 0x5b6710
lea eax, [ebp - 0x38]
push 0x2e
push eax
call fcn.005e710f
add esp, 8
cmp eax, esi
je 0x5b6864
add eax, 2
lea edx, [ebp - 0x40]
push eax
push edx
call fcn.00402500
add esp, 8
mov edx, dword [ebx + 0xec]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 6
jne 0x5b6769
mov edx, dword [ebx + 0xdc]
cmp edx, esi
je 0x5b6858
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6858
cmp edx, esi
je 0x5b6858
mov eax, dword [ebp - 0x40]
mov ecx, 0x6d2270
push eax
push edx
call fcn.00430d90
cmp eax, esi
je 0x5b6858
mov edi, dword [ebp - 0x3c]
cmp edi, esi
jne 0x5b6796
lea edi, [ebp - 0x38]
cmp edi, esi
je 0x5b67f8
cmp dword [ebp - 0x60], esi
je 0x5b67f8
push edi
call fcn.005e71bf
add esp, 4
test eax, eax
je 0x5b67f8
mov eax, dword [ebp - 0x60]
cmp eax, edi
ja 0x5b67f8
push eax
call fcn.005e71bf
mov ecx, dword [ebp - 0x60]
add esp, 4
lea edx, [ecx + eax*2]
cmp edx, edi
jb 0x5b67f8
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00402410
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.00402400
push eax
lea ecx, [ebp - 0x60]
call fcn.00402410
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 6
call fcn.00401070
jmp 0x5b6841
lea ecx, [ebp - 0x60]
call fcn.00401070
cmp edi, esi
je 0x5b6841
push edi
call fcn.005e71bf
add esp, 4
test eax, eax
je 0x5b6841
push edi
call fcn.005e71bf
lea eax, [eax + eax + 2]
push eax
call fcn.005ffe3f
add esp, 8
cmp eax, esi
mov dword [ebp - 0x60], eax
je 0x5b6848
push edi
call fcn.005e71bf
mov ecx, dword [ebp - 0x60]
push edi
push ecx
mov dword [ebp - 0x58], eax
call fcn.005e7389
add esp, 0xc
mov eax, dword [ebp - 0x60]
cmp eax, esi
jne 0x5b684b
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00603bec
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.00603a3c
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.00401070
mov al, byte [ebp - 0x25]
test al, al
jne 0x5b6f69
mov ebx, dword [ebp - 0x44]
mov edx, dword [ebx + 0x28]
push 0x6a38f0
push edx
call fcn.005e72b0
add esp, 8
test eax, eax
je 0x5b6efa
mov eax, dword [ebx + 0x28]
push 0x3d
push eax
call fcn.005e8180
mov ecx, dword [ebx + 0x28]
mov edi, eax
push 0x3f
push ecx
mov dword [ebp - 0x24], edi
call fcn.005e8180
add esp, 0x10
mov esi, eax
test esi, esi
mov dword [ebp - 0x68], esi
push 0x2f
je 0x5b691f
mov edx, dword [ebx + 0x28]
push edx
call fcn.005e71f0
add esp, 8
cmp eax, esi
mov dword [ebp - 0x64], eax
jbe 0x5b6902
mov dword [ebp - 0x64], 0
test esi, esi
je 0x5b69a2
test edi, edi
je 0x5b69a2
cmp edi, esi
jbe 0x5b69a2
lea ecx, [esi + 5]
cmp edi, ecx
jae 0x5b6930
mov dword [ebp - 0x24], 0
jmp 0x5b6968
test eax, eax
je 0x5b68da
inc eax
push 0x2f
push eax
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b68da
cmp eax, esi
jae 0x5b68da
mov dword [ebp - 0x64], eax
jmp 0x5b6906
mov eax, dword [ebx + 0x28]
push eax
call fcn.005e8180
add esp, 8
mov dword [ebp - 0x64], eax
jmp 0x5b69a2
mov edx, dword [ebp - 0x24]
push 4
push 0x6a1840
lea esi, [edx - 4]
push esi
call fcn.005ea9e0
add esp, 0xc
test eax, eax
je 0x5b69a2
push 4
push str.file
push esi
call fcn.005ea9e0
add esp, 0xc
test eax, eax
je 0x5b69a2
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x24], 0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jb 0x5b699b
push 0x2e
push esi
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b699b
inc esi
push 0x6c5b00
push esi
call fcn.005e8940
add esp, 8
test eax, eax
je 0x5b69a2
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
cmp edx, eax
mov byte [ebp - 0x2d], 0
jbe 0x5b6b78
cmp edx, dword [ebp - 0x64]
jbe 0x5b6b78
inc edx
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6cf4
push edx
lea ecx, [ebp - 0x2c]
call fcn.00603bc5
mov eax, dword [ebp - 0x2c]
push 0x2e
push eax
call fcn.005e8180
add esp, 8
mov dword [ebp - 0x40], eax
test eax, eax
je 0x5b6b78
cmp eax, dword [ebp - 0x2c]
je 0x5b6b78
mov ecx, dword [0x6cd768]
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x54], ecx
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x54]
push edx
push 0x6a10a0
push eax
mov byte [ebp - 4], 8
call fcn.005fc86b
mov ecx, dword [ebp - 0x54]
add esp, 0xc
push 0x3f
push ecx
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b6a36
mov byte [eax], 0
mov edx, dword [ebp - 0x54]
push 0x2e
push edx
call fcn.005e8180
mov esi, eax
add esp, 8
test esi, esi
je 0x5b6ab3
inc esi
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6ab3
mov eax, dword [0x6cd768]
mov dword [ebp - 0x14], eax
push esi
lea ecx, [ebp - 0x14]
push 0x6a10a0
push ecx
mov byte [ebp - 4], 9
call fcn.005fc86b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.00603e84
mov edx, dword [ebp - 0x14]
push edx
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.005e72b0
add esp, 8
test eax, eax
je 0x5b6aa7
push 0x2a
push esi
call fcn.005e71f0
add esp, 8
test eax, eax
jne 0x5b6aa7
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.00603a3c
mov eax, dword [ebp - 0x40]
mov edx, dword [ebx + 0xec]
inc eax
mov edi, edx
mov dword [ebp - 0x40], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5b6ae4
mov edx, dword [ebx + 0xdc]
test edx, edx
je 0x5b6b4c
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6b4c
mov edi, edx
test edi, edi
je 0x5b6b4c
mov al, byte [ebp - 0x25]
test al, al
je 0x5b6b16
push esi
push edi
mov ecx, 0x6d2270
call fcn.00430d90
test eax, eax
je 0x5b6b16
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00603b75
mov byte [ebp - 0x2d], 1
mov bl, byte [ebp - 0x2d]
jmp 0x5b6b61
mov ecx, dword [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00603aaa
mov edx, dword [ebp - 0x40]
mov ecx, 0x6d2270
push edx
push edi
mov byte [ebp - 4], 0xa
call fcn.00430d90
test eax, eax
mov bl, 1
jne 0x5b6b3e
mov bl, byte [ebp - 0x2d]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00603a3c
jmp 0x5b6b61
mov al, byte [ebp - 0x25]
test al, al
je 0x5b6b5f
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00603b75
mov bl, 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00603a3c
test bl, bl
jne 0x5b6e88
mov ebx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x64]
cmp edx, eax
jbe 0x5b6e4b
cmp edx, esi
jbe 0x5b6e4b
test edx, edx
je 0x5b6e2b
inc edx
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x64], edx
je 0x5b6e2b
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x25], al
mov byte [ebp - 0x2d], al
call fcn.00603bc5
mov eax, dword [ebp - 0x2c]
push 0x2e
push eax
call fcn.005e8180
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
je 0x5b6dff
mov ecx, dword [0x6cd768]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x54]
push edx
push 0x6a10a0
push eax
mov byte [ebp - 4], 0xb
call fcn.005fc86b
mov ecx, dword [ebp - 0x54]
add esp, 0xc
push 0x3f
push ecx
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b6c0e
mov byte [eax], 0
mov edx, dword [ebp - 0x54]
push 0x2e
push edx
call fcn.005e8180
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5b6c8b
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6c8b
mov eax, dword [0x6cd768]
mov dword [ebp - 0x14], eax
push ebx
lea ecx, [ebp - 0x14]
push 0x6a10a0
push ecx
mov byte [ebp - 4], 0xc
call fcn.005fc86b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.00603e84
mov edx, dword [ebp - 0x14]
push edx
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.005e72b0
add esp, 8
test eax, eax
je 0x5b6c7f
push 0x2a
push ebx
call fcn.005e71f0
add esp, 8
test eax, eax
jne 0x5b6c7f
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.00603a3c
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
inc eax
or ecx, 0xffffffff
mov esi, dword [edx + 0xec]
mov dword [ebp - 0x24], eax
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5b6cc7
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x5b6d60
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6d60
test esi, esi
je 0x5b6d60
mov al, byte [ebp - 0x25]
test al, al
je 0x5b6d0b
push ebx
push esi
mov ecx, 0x6d2270
call fcn.00430d90
test eax, eax
je 0x5b6d0b
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00603b75
jmp 0x5b6d4f
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00603bc5
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
jmp 0x5b6e3d
mov ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00603aaa
mov edx, dword [ebp - 0x40]
mov ecx, 0x6d2270
push edx
push esi
mov byte [ebp - 4], 0xd
call fcn.00430d90
test eax, eax
mov bl, 1
jne 0x5b6d33
mov bl, byte [ebp - 0x2d]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xb
call fcn.00603a3c
test bl, bl
jne 0x5b6d4f
mov edx, dword [ebp - 0x64]
lea ecx, [ebp - 0x2c]
push edx
call fcn.00603bc5
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00603a3c
jmp 0x5b6e88
mov al, byte [ebp - 0x25]
test al, al
je 0x5b6d75
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00603b75
jmp 0x5b6d4f
mov edi, dword [ebp - 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 6
jae 0x5b6dee
mov ecx, dword [0x6cd768]
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x24]
lea edx, [ebp - 0x14]
push esi
push 0x6a10a0
push edx
mov byte [ebp - 4], 0xe
call fcn.005fc86b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.00603e84
mov eax, dword [ebp - 0x14]
push eax
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.005e72b0
add esp, 8
test eax, eax
je 0x5b6dd7
push 0x2a
push esi
call fcn.005e71f0
add esp, 8
mov bl, 1
test eax, eax
je 0x5b6dda
mov bl, byte [ebp - 0x2d]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.00603a3c
test bl, bl
jne 0x5b6d4f
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00603b75
jmp 0x5b6d4f
test esi, esi
je 0x5b6e17
lea edx, [esi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6e17
push edx
jmp 0x5b6e1b
mov eax, dword [ebx + 0x28]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00603bc5
mov ecx, dword [ebp - 0x2c]
push 0x3f
push ecx
jmp 0x5b6e3d
mov edx, dword [ebx + 0x28]
lea ecx, [ebp - 0x2c]
push edx
call fcn.00603bc5
mov eax, dword [ebp - 0x2c]
push 0x3f
push eax
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b6e88
jmp 0x5b6e85
test edx, edx
jne 0x5b6e67
test esi, esi
je 0x5b6e67
lea edx, [esi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6e67
push edx
jmp 0x5b6e6b
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00603bc5
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b6e88
mov byte [eax], 0
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x60]
mov esi, dword [eax + 0x170]
call fcn.00401070
test ebx, ebx
je 0x5b6f69
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6f69
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 - 0x58], eax
je 0x5b6f69
lea ecx, [eax + eax + 2]
push ecx
call fcn.005ffe3f
add esp, 4
mov dword [ebp - 0x60], eax
test eax, eax
je 0x5b6f70
mov edx, dword [ebp - 0x58]
push edx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x58], eax
jmp 0x5b6f69
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x60]
mov esi, dword [eax + 0x170]
mov ebx, dword [eax + 0x28]
call fcn.00401070
test ebx, ebx
je 0x5b6f5a
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b6f5a
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 - 0x58], eax
je 0x5b6f5a
lea eax, [eax + eax + 2]
push eax
call fcn.005ffe3f
add esp, 4
mov dword [ebp - 0x60], eax
test eax, eax
je 0x5b6f5a
mov ecx, dword [ebp - 0x58]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x2c]
mov eax, dword [edx + 0x28]
push eax
call fcn.00603bc5
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x5b6f73
lea eax, [ebp - 0x5c]
push eax
call fcn.005e71bf
add esp, 4
cmp eax, 0x7d0
jae 0x5b6fa2
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x44]
lea edx, [ebp - 0x60]
push edx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x170]
push eax
push edx
call fcn.005b6540
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x5b6fac
lea eax, [ebp - 0x5c]
push 0x3d
push eax
call fcn.005e710f
mov edi, eax
mov eax, dword [ebp - 0x60]
add esp, 8
test eax, eax
jne 0x5b6fc3
lea eax, [ebp - 0x5c]
push 0x3f
push eax
call fcn.005e710f
mov ebx, eax
mov eax, dword [ebp - 0x60]
add esp, 8
test eax, eax
jne 0x5b6fda
lea eax, [ebp - 0x5c]
push 0x2f
push eax
call fcn.005e710f
add esp, 8
mov dword [ebp - 0x40], eax
test ebx, ebx
je 0x5b7040
test edi, edi
je 0x5b7040
cmp ebx, edi
jae 0x5b6fff
lea ecx, [ebx + 0xa]
cmp edi, ecx
jae 0x5b700b
xor edi, edi
cmp ebx, edi
jbe 0x5b704e
cmp ebx, eax
jbe 0x5b704e
add ebx, 2
push ebx
jmp 0x5b7056
lea esi, [edi - 8]
push 4
push str.name
push esi
call fcn.005fc0b2
add esp, 0xc
test eax, eax
je 0x5b703d
push 4
push 0x6c5ae8
push esi
call fcn.005fc0b2
add esp, 0xc
test eax, eax
je 0x5b703d
mov eax, dword [ebp - 0x40]
xor edi, edi
jmp 0x5b6ffd
mov eax, dword [ebp - 0x40]
cmp ebx, edi
jae 0x5b6fff
cmp edi, eax
jbe 0x5b6ffd
add edi, 2
push edi
jmp 0x5b7056
test eax, eax
je 0x5b705e
add eax, 2
push eax
lea ecx, [ebp - 0x60]
call fcn.00402410
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x5b7068
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402410
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x5b707b
lea eax, [ebp - 0x5c]
push eax
call fcn.005e71bf
add esp, 4
test eax, eax
jne 0x5b72f3
mov ebx, dword [ebp - 0x44]
mov esi, 1
mov edx, dword [ebx + 0x24]
test edx, edx
je 0x5b7185
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jbe 0x5b7185
mov eax, dword [0x6cd768]
mov dword [ebp - 0x24], eax
push edx
lea ecx, [ebp - 0x24]
push 0x6a10a0
push ecx
mov byte [ebp - 4], 0xf
call fcn.005fc86b
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 0x5b70f4
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x24]
call fcn.00603ea8
mov edx, dword [ebp - 0x24]
push 0x2f
push edx
call fcn.005e8180
add esp, 8
test eax, eax
je 0x5b7171
inc eax
lea edx, [ebp - 0x2c]
push eax
push str._s.html
push edx
call fcn.005fc86b
mov eax, dword [ebp - 0x2c]
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.00402e00
mov eax, dword [ebp - 0x20]
xor esi, esi
test eax, eax
jne 0x5b7130
lea eax, [ebp - 0x1c]
push eax
call fcn.005e71bf
add esp, 4
cmp eax, 0x7d0
jae 0x5b7171
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x170]
push 0
push 1
lea edx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x2c]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.005b6540
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x5b7168
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402410
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.00603a3c
test esi, esi
je 0x5b72cf
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x5b72cf
xor esi, esi
lea ecx, [ebp - 0x3c]
push esi
push eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00402e00
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x10
cmp eax, esi
jne 0x5b71b4
lea eax, [ebp - 0x38]
push 0x2e
push eax
call fcn.005e710f
add esp, 8
cmp eax, esi
je 0x5b72c3
xor esi, esi
mov word [eax], si
mov edi, dword [ebp - 0x3c]
cmp edi, esi
je 0x5b71fa
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b71f3
cmp word [edi], 0x2e
jne 0x5b71ee
mov word [edi], 0x5f
add edi, 2
jmp 0x5b71df
mov eax, dword [ebp - 0x3c]
cmp eax, esi
jne 0x5b71fd
lea eax, [ebp - 0x38]
mov edx, str._s_default.html
test edx, edx
je 0x5b72c3
cmp eax, esi
je 0x5b72c3
push eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00402410
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.00401070
push str._s_default.html
lea ecx, [ebp - 0x74]
call fcn.00402380
mov edi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x12
call fcn.00402400
push eax
call fcn.005e71bf
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x20], edx
je 0x5b72ab
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 - 0x50]
call fcn.00402400
push eax
lea ecx, [ebp - 0x74]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x20]
push ebx
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0x14
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x11
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x10
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b72d9
lea eax, [ebp - 0x1c]
push eax
call fcn.005e71bf
add esp, 4
test eax, eax
jne 0x5b72f3
push str.default.html
lea ecx, [ebp - 0x20]
call fcn.00402410
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b731f
push eax
mov edi, eax
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b731c
cmp word [edi], 0x3a
jne 0x5b7317
mov word [edi], 0x2d
add edi, 2
jmp 0x5b7308
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5b7353
test eax, eax
je 0x5b747a
push eax
mov edi, eax
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b7350
cmp word [edi], 0x2a
jne 0x5b734b
mov word [edi], 0x2d
add edi, 2
jmp 0x5b733c
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b747a
push eax
mov edi, eax
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b737d
cmp word [edi], 0x3f
jne 0x5b7378
mov word [edi], 0x2d
add edi, 2
jmp 0x5b7369
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5b747a
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b73a8
cmp word [edi], 0x7c
jne 0x5b73a3
mov word [edi], 0x2d
add edi, 2
jmp 0x5b7394
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5b747a
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b73d3
cmp word [edi], 0x3c
jne 0x5b73ce
mov word [edi], 0x2d
add edi, 2
jmp 0x5b73bf
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5b747a
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b73fe
cmp word [edi], 0x3e
jne 0x5b73f9
mov word [edi], 0x2d
add edi, 2
jmp 0x5b73ea
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5b747a
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b7425
cmp word [edi], 0x22
jne 0x5b7420
mov word [edi], 0x2d
add edi, 2
jmp 0x5b7411
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5b747a
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b744c
cmp word [edi], 0x25
jne 0x5b7447
mov word [edi], 0x2d
add edi, 2
jmp 0x5b7438
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5b747a
push edi
call fcn.005e71bf
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5b7473
cmp word [edi], 0x5c
jne 0x5b746e
mov word [edi], 0x2d
add edi, 2
jmp 0x5b745f
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x5b747d
lea edi, [ebp - 0x1c]
push edi
call fcn.005e71bf
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5b749c
cmp word [edi + ecx*2], 0x20
jae 0x5b7499
mov word [edi + ecx*2], 0x2d
inc ecx
jmp 0x5b7488
mov eax, dword [0x6d2338]
test eax, eax
jne 0x5b7e76
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b74b3
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
jne 0x5b74e5
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b74cf
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
je 0x5b7a7c
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b7a83
mov edx, 0x6a5250
test edx, edx
je 0x5b76c2
mov eax, 0x6d1c9c
test eax, eax
je 0x5b76c2
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b76c2
mov ecx, dword [ebp - 0x20]
push 0x6a5250
push ecx
call fcn.005e7a20
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x5b7555
push 0x6a5250
inc ebx
call fcn.005e71bf
lea eax, [edi + eax*2]
push 0x6a5250
push eax
call fcn.005e7a20
add esp, 0xc
mov edi, eax
jmp 0x5b7531
test ebx, ebx
je 0x5b76c2
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x38], ax
call fcn.00402410
push 0x6a5250
mov byte [ebp - 4], 0x13
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b75e6
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5250
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov edi, eax
call fcn.005e71bf
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b75e9
jmp 0x5b76b6
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402400
push 0x6a5250
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5b7679
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5250
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp - 0x14]
push 0x6a5250
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b7602
mov esi, dword [ebp - 0x24]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
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
je 0x5b7a83
mov edx, 0x6a524c
test edx, edx
je 0x5b789f
mov eax, 0x6d1c9c
test eax, eax
je 0x5b789f
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b789f
mov ecx, dword [ebp - 0x20]
push 0x6a524c
push ecx
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b7732
push 0x6a524c
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a524c
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b770e
test edi, edi
je 0x5b789f
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x38], ax
call fcn.00402410
push 0x6a524c
mov byte [ebp - 4], 0x14
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b77c3
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a524c
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b77c6
jmp 0x5b7893
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402400
push 0x6a524c
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5b7856
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a524c
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp - 0x14]
push 0x6a524c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b77df
mov esi, dword [ebp - 0x24]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
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
je 0x5b7a83
mov edx, 0x6a5248
test edx, edx
je 0x5b7a7c
mov eax, 0x6d1c9c
test eax, eax
je 0x5b7a7c
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b7a7c
mov ecx, dword [ebp - 0x20]
push 0x6a5248
push ecx
call fcn.005e7a20
add esp, 8
xor ebx, ebx
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5b7911
push 0x6a5248
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5248
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b78ed
cmp edi, ebx
je 0x5b7a7c
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00402410
push 0x6a5248
mov byte [ebp - 4], 0x15
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b79a0
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5248
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b79a3
jmp 0x5b7a70
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402400
push 0x6a5248
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5b7a33
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5248
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp - 0x14]
push 0x6a5248
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b79bc
mov esi, dword [ebp - 0x24]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
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 0x5b7a86
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
je 0x5b7c79
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b7c80
mov edx, 0x6a5244
test edx, edx
je 0x5b7c79
mov eax, 0x6d1c9c
test eax, eax
je 0x5b7c79
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b7c79
mov ecx, dword [ebp - 0x20]
push 0x6a5244
push ecx
call fcn.005e7a20
add esp, 8
xor ebx, ebx
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5b7b0e
push 0x6a5244
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5244
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b7aea
cmp edi, ebx
je 0x5b7c79
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push edx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x38], bx
call fcn.00402410
push 0x6a5244
mov byte [ebp - 4], 0x16
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b7b9d
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5244
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b7ba0
jmp 0x5b7c6d
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402400
push 0x6a5244
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5b7c30
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5244
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp - 0x14]
push 0x6a5244
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b7bb9
mov esi, dword [ebp - 0x24]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
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 0x5b7c83
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
je 0x5b7e76
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b7e76
mov edx, 0x6a5240
test edx, edx
je 0x5b7e76
mov eax, 0x6d1c9c
test eax, eax
je 0x5b7e76
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b7e76
mov ecx, dword [ebp - 0x20]
push 0x6a5240
push ecx
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b7d09
push 0x6a5240
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5240
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b7ce5
test edi, edi
je 0x5b7e76
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov word [ebp - 0x38], ax
call fcn.00402410
push 0x6a5240
mov byte [ebp - 4], 0x17
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b7d9a
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5240
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b7d9d
jmp 0x5b7e6a
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x3c]
call fcn.00402400
push 0x6a5240
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5b7e2d
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5240
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp - 0x14]
push 0x6a5240
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b7db6
mov esi, dword [ebp - 0x24]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.00401070
mov edi, dword [ebp - 0x44]
push 0x3f
mov edx, dword [edi + 0x28]
push edx
call fcn.005e71f0
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.005e71f0
mov ebx, eax
mov eax, dword [ebp - 0x20]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x40], ebx
jne 0x5b7ea5
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.00402410
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 0x18
cmp eax, edi
jne 0x5b7ec6
lea eax, [ebp - 0x7c]
push 0x2e
push eax
call fcn.005e710f
mov edi, eax
add esp, 8
test edi, edi
je 0x5b7eee
mov word [edi], 0
add edi, 2
push edi
call fcn.005e71bf
add esp, 4
test eax, eax
jne 0x5b7eee
xor edi, edi
test esi, esi
je 0x5b8eb2
test ebx, ebx
je 0x5b8e1f
cmp ebx, esi
ja 0x5b8e1f
mov ecx, dword [ebp - 0x40]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x5b8e1f
test edi, edi
jne 0x5b8eb2
mov edx, dword [ebp - 0x44]
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 0x5b8c62
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005ffe3f
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x24], ebx
je 0x5b8eb2
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 - 0x44]
mov ecx, esi
mov eax, dword [eax + 0x28]
sub ecx, eax
push ecx
push eax
push ebx
call fcn.005e7540
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402e00
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x44]
push 0
push 1
push edx
mov edx, dword [ecx + 0x170]
lea eax, [ebp - 0x20]
push eax
push edx
push ebx
call fcn.005b6540
push 0x2e
push ebx
call fcn.005e8180
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
je 0x5b8ea9
push eax
call fcn.005b5920
add esp, 4
test al, al
je 0x5b8ea9
mov edi, dword [ebp - 0x44]
push 0x3d
mov eax, dword [edi + 0x28]
push eax
call fcn.005e8180
mov edi, dword [edi + 0x28]
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
mov dword [ebp - 0x40], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, esi
jbe 0x5b8ea9
mov eax, dword [ebp - 0x40]
cmp byte [eax + ecx - 1], 0x2e
je 0x5b8ea9
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 0x5b8015
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x14]
mov byte [eax], 0
mov ecx, dword [0x6cd768]
mov dword [ebp - 0x40], ecx
inc eax
mov byte [ebp - 4], 0x19
push eax
push edx
push ebx
lea edx, [ebp - 0x40]
push str._s__s._s
push edx
call fcn.005fc86b
mov eax, dword [ebp - 0x40]
add esp, 0x14
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.00402e00
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b8077
push eax
mov esi, eax
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8074
cmp word [esi], 0x3a
jne 0x5b806f
mov word [esi], 0x2d
add esi, 2
jmp 0x5b8060
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5b80ab
test eax, eax
je 0x5b827e
push eax
mov esi, eax
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b80a8
cmp word [esi], 0x2a
jne 0x5b80a3
mov word [esi], 0x2d
add esi, 2
jmp 0x5b8094
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b827e
push eax
mov esi, eax
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b80d5
cmp word [esi], 0x3f
jne 0x5b80d0
mov word [esi], 0x2d
add esi, 2
jmp 0x5b80c1
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8100
cmp word [esi], 0x7c
jne 0x5b80fb
mov word [esi], 0x2d
add esi, 2
jmp 0x5b80ec
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b812b
cmp word [esi], 0x3c
jne 0x5b8126
mov word [esi], 0x2d
add esi, 2
jmp 0x5b8117
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8156
cmp word [esi], 0x3e
jne 0x5b8151
mov word [esi], 0x2d
add esi, 2
jmp 0x5b8142
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8181
cmp word [esi], 0x22
jne 0x5b817c
mov word [esi], 0x2d
add esi, 2
jmp 0x5b816d
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b81ac
cmp word [esi], 0x25
jne 0x5b81a7
mov word [esi], 0x2d
add esi, 2
jmp 0x5b8198
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b81d7
cmp word [esi], 0x5c
jne 0x5b81d2
mov word [esi], 0x2d
add esi, 2
jmp 0x5b81c3
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8202
cmp word [esi], 0x2f
jne 0x5b81fd
mov word [esi], 0x5f
add esi, 2
jmp 0x5b81ee
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8229
cmp word [esi], 0x27
jne 0x5b8224
mov word [esi], 0x5f
add esi, 2
jmp 0x5b8215
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8250
cmp word [esi], 0x2c
jne 0x5b824b
mov word [esi], 0x5f
add esi, 2
jmp 0x5b823c
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5b827e
push esi
call fcn.005e71bf
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5b8277
cmp word [esi], 0x3b
jne 0x5b8272
mov word [esi], 0x5f
add esi, 2
jmp 0x5b8263
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x5b8281
lea esi, [ebp - 0x1c]
push esi
call fcn.005e71bf
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5b82a0
cmp word [esi + ecx*2], 0x20
jae 0x5b829d
mov word [esi + ecx*2], 0x2d
inc ecx
jmp 0x5b828c
mov eax, dword [0x6d2338]
test eax, eax
jne 0x5b8c4e
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b82b7
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
jne 0x5b82e9
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b82d3
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
je 0x5b886c
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b8873
mov ecx, 0x6a5250
test ecx, ecx
je 0x5b84c2
mov edx, 0x6d1c9c
test edx, edx
je 0x5b84c2
push edx
push ecx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b84c2
mov eax, dword [ebp - 0x20]
push 0x6a5250
push eax
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b8359
push 0x6a5250
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5250
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b8335
test edi, edi
je 0x5b84c2
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0040e580
push 0x6a5250
mov byte [ebp - 4], 0x1a
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b83e6
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x50]
test esi, esi
jne 0x5b83a0
lea esi, [ebp - 0x4c]
push 0x6a5250
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.005e71bf
mov edx, dword [ebp + 0x10]
add edx, eax
lea eax, [edx + edx + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b83e9
jmp 0x5b84b6
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00402400
push 0x6a5250
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5b8479
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5250
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp + 0x10]
push 0x6a5250
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b8402
mov esi, dword [ebp - 0x14]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b8873
mov edx, 0x6a524c
test edx, edx
je 0x5b869b
mov eax, 0x6d1c9c
test eax, eax
je 0x5b869b
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b869b
mov ecx, dword [ebp - 0x20]
push 0x6a524c
push ecx
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b8532
push 0x6a524c
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a524c
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b850e
test edi, edi
je 0x5b869b
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.0040e580
push 0x6a524c
mov byte [ebp - 4], 0x1b
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b85bf
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x50]
test esi, esi
jne 0x5b8579
lea esi, [ebp - 0x4c]
push 0x6a524c
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.005e71bf
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b85c2
jmp 0x5b868f
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00402400
push 0x6a524c
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5b8652
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a524c
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp + 0x10]
push 0x6a524c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b85db
mov esi, dword [ebp - 0x14]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b8873
mov edx, 0x6a5248
test edx, edx
je 0x5b886c
mov eax, 0x6d1c9c
test eax, eax
je 0x5b886c
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b886c
mov ecx, dword [ebp - 0x20]
push 0x6a5248
push ecx
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b870b
push 0x6a5248
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5248
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b86e7
test edi, edi
je 0x5b886c
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.0040e580
push 0x6a5248
mov byte [ebp - 4], 0x1c
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b8790
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5248
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b8793
jmp 0x5b8860
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00402400
push 0x6a5248
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5b8823
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5248
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp + 0x10]
push 0x6a5248
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b87ac
mov esi, dword [ebp - 0x14]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b8876
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
je 0x5b8a5d
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b8a64
mov edx, 0x6a5244
test edx, edx
je 0x5b8a5d
mov eax, 0x6d1c9c
test eax, eax
je 0x5b8a5d
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b8a5d
mov ecx, dword [ebp - 0x20]
push 0x6a5244
push ecx
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b88fc
push 0x6a5244
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5244
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b88d8
test edi, edi
je 0x5b8a5d
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.0040e580
push 0x6a5244
mov byte [ebp - 4], 0x1d
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b8981
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5244
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b8984
jmp 0x5b8a51
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00402400
push 0x6a5244
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5b8a14
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5244
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp + 0x10]
push 0x6a5244
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b899d
mov esi, dword [ebp - 0x14]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5b8a67
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005e77bb
add esp, 8
test eax, eax
je 0x5b8c4e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b8c4e
mov edx, 0x6a5240
test edx, edx
je 0x5b8c4e
mov eax, 0x6d1c9c
test eax, eax
je 0x5b8c4e
push eax
push edx
call fcn.005e77e4
add esp, 8
test eax, eax
je 0x5b8c4e
mov ecx, dword [ebp - 0x20]
push 0x6a5240
push ecx
call fcn.005e7a20
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5b8aed
push 0x6a5240
inc edi
call fcn.005e71bf
lea eax, [esi + eax*2]
push 0x6a5240
push eax
call fcn.005e7a20
add esp, 0xc
mov esi, eax
jmp 0x5b8ac9
test edi, edi
je 0x5b8c4e
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.0040e580
push 0x6a5240
mov byte [ebp - 4], 0x1e
call fcn.005e71bf
push 0x6d1c9c
mov esi, eax
call fcn.005e71bf
add esp, 8
cmp eax, esi
jbe 0x5b8b72
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x50]
call fcn.00402400
push eax
call fcn.005e71bf
push 0x6a5240
mov esi, eax
call fcn.005e71bf
push 0x6d1c9c
mov ebx, eax
call fcn.005e71bf
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005ffe3f
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5b8b75
jmp 0x5b8c42
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00402400
push 0x6a5240
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5b8c05
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6d1c9c
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.005e71bf
mov ecx, eax
mov esi, 0x6d1c9c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6d1c9c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005e71bf
push 0x6a5240
lea ebx, [ebx + eax*2]
call fcn.005e71bf
mov ecx, dword [ebp + 0x10]
push 0x6a5240
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005e7a20
add esp, 0x14
jmp 0x5b8b8e
mov esi, dword [ebp - 0x14]
push esi
call fcn.005e71bf
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.005e71bf
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x18
call fcn.00603a3c
mov ebx, dword [ebp - 0x24]
jmp 0x5b8ea9
cmp ebx, esi
jae 0x5b8c80
push 0x2e
push ebx
call fcn.005e71f0
add esp, 8
test eax, eax
je 0x5b8c80
lea edx, [eax + 1]
cmp edx, esi
jae 0x5b8c80
mov ebx, eax
jmp 0x5b8c62
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x5b8e0e
push edi
call fcn.005ffe3f
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.005e7540
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
push ebx
push esi
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x4c], bx
call fcn.00402e00
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 0x1f
cmp eax, ebx
mov edi, eax
jne 0x5b8ce4
lea edi, [ebp - 0x4c]
mov esi, dword [ebp - 0x80]
cmp esi, ebx
jne 0x5b8cee
lea esi, [ebp - 0x7c]
mov eax, 0x6a51ec
test eax, eax
je 0x5b8df1
cmp esi, ebx
je 0x5b8df1
cmp edi, ebx
je 0x5b8df1
push eax
lea ecx, [ebp - 0x98]
call fcn.00402380
push esi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x20
call fcn.0040e580
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x21
call fcn.0040e580
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x22
call fcn.00401070
mov esi, dword [ebp - 0x90]
lea ecx, [ebp - 0x74]
call fcn.00402400
push eax
call fcn.005e71bf
add esp, 4
lea ecx, [ebp - 0x3c]
mov edi, eax
call fcn.00402400
push eax
call fcn.005e71bf
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x20], edx
je 0x5b8dca
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 - 0x74]
call fcn.00402400
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402400
push eax
lea ecx, [ebp - 0x98]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x21
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x20
call fcn.00401070
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1f
call fcn.00401070
mov edx, dword [ebp + 0x10]
push edx
call fcn.005ffe68
add esp, 4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x18
call fcn.00401070
jmp 0x5b8eb2
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x20]
push eax
call fcn.00402410
jmp 0x5b8eb2
test edi, edi
jne 0x5b8eb2
mov ecx, dword [ebp - 0x44]
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 0x5b8eb2
cmp esi, edx
jbe 0x5b8eb2
mov eax, dword [ebp - 0x40]
inc eax
cmp eax, esi
je 0x5b8eb2
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005ffe3f
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x5b8eb2
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 - 0x44]
mov eax, dword [eax + 0x28]
sub esi, eax
push esi
push eax
push ebx
call fcn.005e7540
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402e00
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x44]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx + 0x170]
push eax
push ebx
call fcn.005b6540
push ebx
call fcn.005ffe68
add esp, 4
mov ecx, dword [ebp - 0x44]
xor eax, eax
mov edx, dword [ecx + 0x350]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b9118
mov cl, byte [edx]
mov edx, dword [ebp - 0x20]
cmp cl, 0x2e
push edx
sete bl
xor esi, esi
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x38], si
call fcn.00402410
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x23
cmp eax, esi
jne 0x5b8efb
lea eax, [ebp - 0x38]
push 0x2e
push eax
call fcn.005e710f
mov esi, eax
xor edi, edi
add esp, 8
cmp esi, edi
je 0x5b90ad
test bl, bl
jne 0x5b8f19
add esi, 2
lea eax, [ebp + 0x10]
push esi
push eax
call fcn.00402500
add esp, 8
mov ebx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x24
mov eax, dword [ebx + 0x350]
mov ecx, dword [eax - 8]
inc ecx
push ecx
mov ecx, dword [ebp + 0x10]
push eax
push ecx
call fcn.005e9510
add esp, 0xc
test eax, eax
je 0x5b909f
mov word [esi], di
mov eax, dword [ebx + 0x350]
push edi
push eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], edi
mov word [ebp - 0x4c], di
call fcn.00402e00
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 0x25
cmp eax, edi
mov ebx, eax
jne 0x5b8f7a
lea ebx, [ebp - 0x4c]
mov esi, dword [ebp - 0x3c]
cmp esi, edi
jne 0x5b8f84
lea esi, [ebp - 0x38]
mov edx, 0x6a112c
test edx, edx
je 0x5b9093
cmp esi, edi
je 0x5b9093
cmp ebx, edi
je 0x5b9093
push edx
lea ecx, [ebp - 0xa4]
call fcn.00402380
push esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x26
call fcn.0040e580
push ebx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x27
call fcn.0040e580
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x28
call fcn.00401070
mov esi, dword [ebp - 0x9c]
lea ecx, [ebp - 0x98]
call fcn.00402400
push eax
call fcn.005e71bf
add esp, 4
lea ecx, [ebp - 0x74]
mov edi, eax
call fcn.00402400
push eax
call fcn.005e71bf
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005ffe3f
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x20], edx
je 0x5b9069
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.00402400
push eax
lea ecx, [ebp - 0x74]
call fcn.00402400
push eax
lea ecx, [ebp - 0xa4]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.005e714f
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005e71bf
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x27
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x26
call fcn.00401070
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x25
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x24
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x23
call fcn.00603a3c
jmp 0x5b910c
mov edx, dword [ebp - 0x44]
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], edi
mov eax, dword [edx + 0x350]
mov dword [ebp - 0x48], edi
push eax
mov word [ebp - 0x4c], di
call fcn.00402e00
test bl, bl
mov byte [ebp - 4], 0x29
mov edx, 0x6d1c9c
jne 0x5b90dc
mov edx, 0x6a1ee8
mov ecx, dword [ebp - 0x50]
cmp ecx, edi
jne 0x5b90e6
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
cmp eax, edi
jne 0x5b90f0
lea eax, [ebp - 0x38]
push ecx
push edx
push eax
push 0x6a1c34
lea ecx, [ebp - 0x20]
call fcn.00442080
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x23
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x18
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.00603a3c
mov edi, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [edi + 0x44]
cmp eax, 4
je 0x5b9142
cmp eax, 5
jne 0x5b917a
mov eax, dword [ebp - 0x20]
cmp eax, ebx
jne 0x5b914c
lea eax, [ebp - 0x1c]
push 0x2e
push eax
call fcn.005e710f
add esp, 8
cmp eax, ebx
push str..flv
je 0x5b9172
push eax
call fcn.005e985c
add esp, 8
test eax, eax
je 0x5b917a
push str..flv
lea ecx, [ebp - 0x20]
call fcn.00460d50
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x84], ebx
mov word [ebp - 0x88], bx
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x2a
cmp esi, ebx
je 0x5b9216
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00402400
push eax
call fcn.005e710f
mov ecx, dword [0x6cd768]
add esp, 8
mov dword [ebp + 0x10], ecx
cmp eax, ebx
mov byte [ebp - 4], 0x2b
je 0x5b91c8
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.00603bec
mov ecx, dword [edi + 0x20]
lea edx, [ebp - 0xa8]
lea eax, [ebp - 0x8c]
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004b18a0
test al, al
jne 0x5b91fa
lea eax, [ebp - 0x8c]
push eax
call fcn.00447780
add esp, 4
jmp 0x5b9208
mov ecx, dword [ebp - 0xa8]
push ecx
mov ecx, edi
call fcn.005aaef0
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x2a
call fcn.00603a3c
jmp 0x5b9225
lea edx, [ebp - 0x8c]
push edx
call fcn.00447780
add esp, 4
lea ecx, [ebp - 0x8c]
call fcn.00402400
push eax
call fcn.005e71bf
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x5b924f
mov esi, 0x100
lea ecx, [ebp - 0x20]
call fcn.00402400
push eax
call fcn.005e71bf
add esp, 4
cmp eax, esi
jbe 0x5b92b8
lea ecx, [ebp - 0x20]
call fcn.00402400
push eax
call fcn.005e71bf
mov edx, eax
add esp, 4
sub edx, esi
lea ecx, [ebp - 0x20]
mov dword [ebp + 0x10], edx
call fcn.00402400
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx*2]
lea ecx, [ebp - 0xa4]
push edx
call fcn.0040e580
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x2c
call fcn.00402410
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x2a
call fcn.00401070
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00402400
push eax
call fcn.005e710f
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x5b92f9
add esi, 2
push esi
call fcn.005e71bf
add esp, 4
cmp eax, 1
jbe 0x5b92f9
push esi
call fcn.005e71bf
add esp, 4
cmp eax, 5
jae 0x5b92f9
push esi
call fcn.005eb2a1
add esp, 4
lea ecx, [ebp - 0x8c]
call fcn.00402400
cmp word [eax + edi*2 - 2], 0x5c
mov esi, 0x6d1c9c
je 0x5b9316
mov esi, 0x6a115c
lea ecx, [ebp - 0x20]
call fcn.00402400
push eax
push esi
lea ecx, [ebp - 0x8c]
call fcn.00402400
mov ecx, dword [ebp + 0xc]
push eax
push 0x6a1c34
call fcn.00442080
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 - 0x60]
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