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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x653959
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8
push ebx
push esi
push edi
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov word [ebp - 0x64], 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 0x5d45d5
push esi
push edx
lea ecx, [ebp - 0x20]
call fcn.004027e0
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.005d4320
jmp 0x5d7485
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x11c]
mov byte [ebp - 4], 3
cmp eax, esi
mov byte [ebp - 0x21], 0
jne 0x5d45f5
lea eax, [ebx + 0x120]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
je 0x5d4849
xor eax, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x40], eax
mov word [ebp - 0x3c], si
mov edi, dword [ebx + 0x11c]
mov byte [ebp - 4], 4
cmp edi, esi
jne 0x5d462a
lea edi, [ebx + 0x120]
cmp edi, esi
je 0x5d468b
cmp eax, esi
je 0x5d468b
push edi
call fcn.00609a4e
add esp, 4
test eax, eax
je 0x5d468b
mov eax, dword [ebp - 0x40]
cmp eax, edi
ja 0x5d468b
push eax
call fcn.00609a4e
mov ecx, dword [ebp - 0x40]
add esp, 4
lea edx, [ecx + eax*2]
cmp edx, edi
jb 0x5d468b
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00401f20
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.00401f10
push eax
lea ecx, [ebp - 0x40]
call fcn.00401f20
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call fcn.00401070
jmp 0x5d46d4
lea ecx, [ebp - 0x40]
call fcn.00401070
cmp edi, esi
je 0x5d46d4
push edi
call fcn.00609a4e
add esp, 4
test eax, eax
je 0x5d46d4
push edi
call fcn.00609a4e
lea eax, [eax + eax + 2]
push eax
call fcn.00622acb
add esp, 8
cmp eax, esi
mov dword [ebp - 0x40], eax
je 0x5d46db
push edi
call fcn.00609a4e
mov ecx, dword [ebp - 0x40]
push edi
push ecx
mov dword [ebp - 0x38], eax
call fcn.00609a95
add esp, 0xc
mov eax, dword [ebp - 0x40]
cmp eax, esi
jne 0x5d46de
lea eax, [ebp - 0x3c]
push 0x2e
push eax
call fcn.00609ba3
add esp, 8
cmp eax, esi
je 0x5d4832
add eax, 2
lea edx, [ebp - 0x58]
push eax
push edx
call fcn.00402850
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 0x5d4737
mov edx, dword [ebx + 0xdc]
cmp edx, esi
je 0x5d4826
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4826
cmp edx, esi
je 0x5d4826
mov eax, dword [ebp - 0x58]
mov ecx, 0x6fc9a8
push eax
push edx
call fcn.00435900
cmp eax, esi
je 0x5d4826
mov edi, dword [ebp - 0x40]
cmp edi, esi
jne 0x5d4764
lea edi, [ebp - 0x3c]
cmp edi, esi
je 0x5d47c6
cmp dword [ebp - 0x68], esi
je 0x5d47c6
push edi
call fcn.00609a4e
add esp, 4
test eax, eax
je 0x5d47c6
mov eax, dword [ebp - 0x68]
cmp eax, edi
ja 0x5d47c6
push eax
call fcn.00609a4e
mov ecx, dword [ebp - 0x68]
add esp, 4
lea edx, [ecx + eax*2]
cmp edx, edi
jb 0x5d47c6
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00401f20
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.00401f10
push eax
lea ecx, [ebp - 0x68]
call fcn.00401f20
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 6
call fcn.00401070
jmp 0x5d480f
lea ecx, [ebp - 0x68]
call fcn.00401070
cmp edi, esi
je 0x5d480f
push edi
call fcn.00609a4e
add esp, 4
test eax, eax
je 0x5d480f
push edi
call fcn.00609a4e
lea eax, [eax + eax + 2]
push eax
call fcn.00622acb
add esp, 8
cmp eax, esi
mov dword [ebp - 0x68], eax
je 0x5d4816
push edi
call fcn.00609a4e
mov ecx, dword [ebp - 0x68]
push edi
push ecx
mov dword [ebp - 0x60], eax
call fcn.00609a95
add esp, 0xc
mov eax, dword [ebp - 0x68]
cmp eax, esi
jne 0x5d4819
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x34]
call fcn.00622f3a
mov byte [ebp - 0x21], 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.00622d8a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov al, byte [ebp - 0x21]
test al, al
jne 0x5d512d
mov edx, dword [ebx + 0x20]
push str..youtube.com
push edx
call fcn.00609cc0
add esp, 8
test eax, eax
jne 0x5d4877
mov eax, dword [ebx + 0x20]
push str..googlevideo.com
push eax
call fcn.00609cc0
add esp, 8
test eax, eax
je 0x5d4a40
mov ecx, dword [ebx + 0x28]
push str.videoplayback_
push ecx
call fcn.00609cc0
add esp, 8
test eax, eax
je 0x5d4a40
mov edx, dword [0x6f7b78]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0x44]
push eax
push str.title
push ecx
mov byte [ebp - 4], 8
call fcn.00479e20
add esp, 0xc
cmp eax, esi
je 0x5d4a29
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x28]
lea edx, [ebp - 0x28]
push edx
push 0x6d051c
push eax
mov byte [ebp - 4], 0xa
call fcn.00479e20
add esp, 0xc
cmp eax, esi
je 0x5d48f8
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00609e33
lea edx, [ebp - 0x54]
push edx
push eax
call fcn.005d4350
add esp, 0xc
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x14]
push ecx
push edx
mov byte [ebp - 4], 0xb
call fcn.005d3ba0
mov ebx, dword [ebp - 0x54]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4929
mov edx, ebx
jmp 0x5d4946
push 0x6fc418
lea ecx, [ebp - 0x58]
call fcn.00622df8
mov dword [ebp - 0x5c], 1
mov edx, dword [eax]
mov ebx, dword [ebp - 0x54]
mov byte [ebp - 4], 0xc
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x6cedf0
jne 0x5d495e
mov eax, 0x6fc418
push edx
push eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x44]
push eax
push 0x6c9cb0
push ecx
call fcn.0061fae1
mov al, byte [ebp - 0x5c]
add esp, 0x14
test al, 1
mov dword [ebp - 4], 0xb
je 0x5d498b
lea ecx, [ebp - 0x58]
call fcn.00622d8a
mov ebx, dword [ebp - 0x44]
lea ecx, [ebp - 0x68]
call fcn.00401070
cmp ebx, esi
je 0x5d49e9
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d49e9
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
push esi
push 0xffffffffffffffff
push ebx
push esi
push 0xfde9
call edi
cmp eax, esi
mov dword [ebp - 0x60], eax
je 0x5d49e9
lea edx, [eax + eax + 2]
push edx
call fcn.00622acb
add esp, 4
cmp eax, esi
mov dword [ebp - 0x68], eax
je 0x5d49e9
mov ecx, dword [ebp - 0x60]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push esi
push 0xfde9
call edi
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x34]
push edx
push 0x6c910c
push eax
call fcn.0061fae1
add esp, 0xc
lea ecx, [ebp - 0x14]
mov byte [ebp - 0x21], 1
mov byte [ebp - 4], 0xa
call fcn.00622d8a
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 9
call fcn.00622d8a
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.00622d8a
mov ebx, dword [ebp - 0x30]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call fcn.00622d8a
mov al, byte [ebp - 0x21]
test al, al
jne 0x5d512d
mov ecx, dword [ebx + 0x28]
push 0x6cb6a4
push ecx
call fcn.00609cc0
add esp, 8
test eax, eax
je 0x5d50be
mov ebx, dword [ebp - 0x30]
push 0x3d
mov edx, dword [ebx + 0x28]
push edx
call fcn.0060ab40
mov edi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x44], edi
call fcn.0060ab40
add esp, 0x10
mov esi, eax
test esi, esi
push 0x2f
je 0x5d4d00
mov ecx, dword [ebx + 0x28]
push ecx
call fcn.00609c00
mov ebx, eax
add esp, 8
cmp ebx, esi
mov dword [ebp - 0x14], ebx
jbe 0x5d4ccf
xor ebx, ebx
mov dword [ebp - 0x14], ebx
test esi, esi
je 0x5d4b23
test edi, edi
je 0x5d4b23
cmp edi, esi
jbe 0x5d4b23
lea ecx, [esi + 5]
cmp edi, ecx
jb 0x5d4ae5
mov edx, dword [ebp - 0x44]
push 4
push 0x6c98a0
lea edi, [edx - 4]
push edi
call fcn.0060d550
add esp, 0xc
test eax, eax
je 0x5d4b23
push 4
push str.file
push edi
call fcn.0060d550
add esp, 0xc
test eax, eax
je 0x5d4b23
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x44], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jb 0x5d4b21
push 0x2e
push esi
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d4b21
lea eax, [esi + 1]
push 0x6efbac
push eax
call fcn.0060b360
add esp, 8
test eax, eax
je 0x5d4b23
xor esi, esi
mov eax, dword [ebp - 0x44]
mov byte [ebp - 0x21], 0
cmp esi, eax
jae 0x5d4d4a
cmp eax, ebx
jbe 0x5d4d47
mov ecx, eax
xor eax, eax
lea edx, [ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4ec3
push edx
lea ecx, [ebp - 0x34]
call fcn.00622f13
mov edx, dword [ebp - 0x34]
push 0x2e
push edx
call fcn.0060ab40
add esp, 8
mov dword [ebp - 0x58], eax
test eax, eax
je 0x5d4d47
cmp eax, dword [ebp - 0x34]
je 0x5d4d47
mov eax, dword [0x6f7b78]
mov byte [ebp - 0x29], 0
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0xd
mov edx, dword [ecx + 0x28]
push edx
push 0x6c910c
push eax
call fcn.0061fae1
mov ecx, dword [ebp - 0x54]
add esp, 0xc
push 0x3f
push ecx
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d4bb9
mov byte [eax], 0
mov edx, dword [ebp - 0x54]
push 0x2e
push edx
call fcn.0060ab40
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5d4c36
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4c36
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x28], eax
push ebx
lea ecx, [ebp - 0x28]
push 0x6c910c
push ecx
mov byte [ebp - 4], 0xe
call fcn.0061fae1
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.006231d2
mov edx, dword [ebp - 0x28]
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.00609cc0
add esp, 8
test eax, eax
je 0x5d4c2a
push 0x2a
push ebx
call fcn.00609c00
add esp, 8
test eax, eax
jne 0x5d4c2a
mov byte [ebp - 0x29], 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
call fcn.00622d8a
mov eax, dword [ebp - 0x58]
or ecx, 0xffffffff
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0xec]
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5d4c75
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x5d4d16
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4d16
mov edi, edx
test edi, edi
je 0x5d4d16
mov al, byte [ebp - 0x29]
test al, al
je 0x5d4c9a
push ebx
push edi
mov ecx, 0x6fc9a8
call fcn.00435900
test eax, eax
jne 0x5d4d1d
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x5c]
push eax
call fcn.00622df8
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0xf
push ecx
push edi
mov ecx, 0x6fc9a8
call fcn.00435900
test eax, eax
je 0x5d4cc1
mov byte [ebp - 0x21], 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xd
call fcn.00622d8a
jmp 0x5d4d2d
test ebx, ebx
je 0x5d4aa4
lea edx, [ebx + 1]
push 0x2f
push edx
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d4aa4
cmp eax, esi
jae 0x5d4aa4
mov ebx, eax
inc eax
push 0x2f
mov dword [ebp - 0x14], ebx
push eax
jmp 0x5d4cdd
mov eax, dword [ebx + 0x28]
push eax
call fcn.0060ab40
mov ebx, eax
add esp, 8
mov dword [ebp - 0x14], ebx
jmp 0x5d4b23
mov al, byte [ebp - 0x29]
test al, al
je 0x5d4d29
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x34]
push edx
call fcn.00622ec3
mov byte [ebp - 0x21], 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00622d8a
mov al, byte [ebp - 0x21]
test al, al
jne 0x5d504a
mov ebx, dword [ebp - 0x14]
cmp esi, dword [ebp - 0x44]
jbe 0x5d500a
cmp esi, ebx
jbe 0x5d500a
test esi, esi
je 0x5d4fe7
inc esi
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x58], esi
je 0x5d4fe7
mov byte [ebp - 0x29], al
mov byte [ebp - 0x21], al
mov eax, esi
lea ecx, [ebp - 0x34]
push eax
call fcn.00622f13
mov ecx, dword [ebp - 0x34]
push 0x2e
push ecx
call fcn.0060ab40
add esp, 8
mov dword [ebp - 0x28], eax
test eax, eax
je 0x5d4fcf
mov edx, dword [0x6f7b78]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0x10
mov ecx, dword [eax + 0x28]
push ecx
push 0x6c910c
push edx
call fcn.0061fae1
mov eax, dword [ebp - 0x44]
add esp, 0xc
push 0x3f
push eax
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d4dda
mov byte [eax], 0
mov ecx, dword [ebp - 0x44]
push 0x2e
push ecx
call fcn.0060ab40
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5d4e58
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4e58
mov edx, dword [0x6f7b78]
mov dword [ebp - 0x14], edx
push ebx
lea eax, [ebp - 0x14]
push 0x6c910c
push eax
mov byte [ebp - 4], 0x11
call fcn.0061fae1
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.006231d2
mov ecx, dword [ebp - 0x14]
push ecx
push str.3GP_7Z_AAC_ACE_AIF_ARJ_ASF_AVI_BIN_BZ2_EXE_GZ_GZIP_IMG_ISO_LZH_M4A_M4V_MKV_MOV_MP3_MP4_MPA_MPE_MPEG_MPG_MSI_MSU_OGG_OGV_PDF_PLJ_PPS_PPT_QT_R0_R1_RA_RAR_RM_RMVB_SEA_SIT_SITX_TAR_TIF_TIFF_WAV_WMA_WMV_Z_ZIP
call fcn.00609cc0
add esp, 8
test eax, eax
je 0x5d4e4c
push 0x2a
push ebx
call fcn.00609c00
add esp, 8
test eax, eax
jne 0x5d4e4c
mov byte [ebp - 0x29], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x10
call fcn.00622d8a
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
inc eax
or ecx, 0xffffffff
mov edx, dword [esi + 0xec]
mov dword [ebp - 0x28], eax
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5d4e94
mov edx, dword [esi + 0xdc]
test edx, edx
je 0x5d4f32
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4f32
mov edi, edx
test edi, edi
je 0x5d4f32
mov al, byte [ebp - 0x29]
test al, al
je 0x5d4edd
push ebx
push edi
mov ecx, 0x6fc9a8
call fcn.00435900
test eax, eax
je 0x5d4edd
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x34]
push edx
call fcn.00622ec3
jmp 0x5d4f21
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00622f13
mov edx, dword [ebp - 0x34]
push 0x3f
push edx
jmp 0x5d4ffc
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x5c]
push eax
call fcn.00622df8
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x12
push ecx
push edi
mov ecx, 0x6fc9a8
call fcn.00435900
test eax, eax
mov bl, 1
jne 0x5d4f05
mov bl, byte [ebp - 0x21]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
call fcn.00622d8a
test bl, bl
jne 0x5d4f21
mov ecx, dword [ebp - 0x58]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00622f13
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call fcn.00622d8a
jmp 0x5d504a
mov al, byte [ebp - 0x29]
test al, al
je 0x5d4f47
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x34]
push edx
call fcn.00622ec3
jmp 0x5d4f21
mov esi, dword [ebp - 0x28]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 6
jae 0x5d4fbe
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x14], eax
push esi
lea ecx, [ebp - 0x14]
push 0x6c910c
push ecx
mov byte [ebp - 4], 0x13
call fcn.0061fae1
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.006231d2
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.00609cc0
add esp, 8
test eax, eax
je 0x5d4fa7
push 0x2a
push esi
call fcn.00609c00
add esp, 8
mov bl, 1
test eax, eax
je 0x5d4faa
mov bl, byte [ebp - 0x21]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x10
call fcn.00622d8a
test bl, bl
jne 0x5d4f21
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x34]
push eax
call fcn.00622ec3
jmp 0x5d4f21
test ebx, ebx
je 0x5d4fe7
lea edx, [ebx + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d4fe7
push edx
jmp 0x5d4fee
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.00622f13
mov ecx, dword [ebp - 0x34]
push 0x3f
push ecx
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d504a
jmp 0x5d5047
test esi, esi
jne 0x5d5026
test ebx, ebx
je 0x5d5026
lea edx, [ebx + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d5026
push edx
jmp 0x5d502d
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.00622f13
mov ecx, dword [ebp - 0x34]
push 0x3f
push ecx
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d504a
mov byte [eax], 0
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x34]
lea ecx, [ebp - 0x68]
mov esi, dword [edx + 0x170]
call fcn.00401070
test ebx, ebx
je 0x5d512d
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d512d
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
mov dword [ebp - 0x60], eax
je 0x5d512d
lea eax, [eax + eax + 2]
push eax
call fcn.00622acb
add esp, 4
mov dword [ebp - 0x68], eax
test eax, eax
je 0x5d5134
mov ecx, dword [ebp - 0x60]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x60], eax
jmp 0x5d512d
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x68]
mov esi, dword [eax + 0x170]
mov ebx, dword [eax + 0x28]
call fcn.00401070
test ebx, ebx
je 0x5d511e
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d511e
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 - 0x60], eax
je 0x5d511e
lea edx, [eax + eax + 2]
push edx
call fcn.00622acb
add esp, 4
mov dword [ebp - 0x68], eax
test eax, eax
je 0x5d511e
mov ecx, dword [ebp - 0x60]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x30]
lea ecx, [ebp - 0x34]
mov eax, dword [edx + 0x28]
push eax
call fcn.00622f13
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x5d5137
lea eax, [ebp - 0x64]
push eax
call fcn.00609a4e
add esp, 4
cmp eax, 0x7d0
jae 0x5d5166
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x68]
push edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ecx + 0x170]
push eax
push edx
call fcn.005d4320
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x5d5170
lea eax, [ebp - 0x64]
push 0x3d
push eax
call fcn.00609ba3
mov edi, eax
mov eax, dword [ebp - 0x68]
add esp, 8
test eax, eax
jne 0x5d5187
lea eax, [ebp - 0x64]
push 0x3f
push eax
call fcn.00609ba3
mov ebx, eax
mov eax, dword [ebp - 0x68]
add esp, 8
test eax, eax
jne 0x5d519e
lea eax, [ebp - 0x64]
push 0x2f
push eax
call fcn.00609ba3
add esp, 8
mov dword [ebp - 0x5c], eax
test ebx, ebx
je 0x5d5204
test edi, edi
je 0x5d5204
cmp ebx, edi
jae 0x5d51c3
lea ecx, [ebx + 0xa]
cmp edi, ecx
jae 0x5d51cf
xor edi, edi
cmp ebx, edi
jbe 0x5d5212
cmp ebx, eax
jbe 0x5d5212
add ebx, 2
push ebx
jmp 0x5d521a
lea esi, [edi - 8]
push 4
push str.name
push esi
call fcn.0061f2f2
add esp, 0xc
test eax, eax
je 0x5d5201
push 4
push 0x6efb94
push esi
call fcn.0061f2f2
add esp, 0xc
test eax, eax
je 0x5d5201
mov eax, dword [ebp - 0x5c]
xor edi, edi
jmp 0x5d51c1
mov eax, dword [ebp - 0x5c]
cmp ebx, edi
jae 0x5d51c3
cmp edi, eax
jbe 0x5d51c1
add edi, 2
push edi
jmp 0x5d521a
test eax, eax
je 0x5d5222
add eax, 2
push eax
lea ecx, [ebp - 0x68]
call fcn.00401f20
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x5d522c
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401f20
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x5d523f
lea eax, [ebp - 0x64]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
jne 0x5d54c0
mov ebx, dword [ebp - 0x30]
mov esi, 1
mov edx, dword [ebx + 0x24]
test edx, edx
je 0x5d5349
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jbe 0x5d5349
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x54], eax
push edx
lea ecx, [ebp - 0x54]
push 0x6c910c
push ecx
mov byte [ebp - 4], 0x14
call fcn.0061fae1
mov edx, dword [ebp - 0x54]
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 0x5d52b8
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x54]
call fcn.006231f6
mov edx, dword [ebp - 0x54]
push 0x2f
push edx
call fcn.0060ab40
add esp, 8
test eax, eax
je 0x5d5335
inc eax
lea edx, [ebp - 0x34]
push eax
push str._s.html
push edx
call fcn.0061fae1
mov eax, dword [ebp - 0x34]
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.004027e0
mov eax, dword [ebp - 0x20]
xor esi, esi
test eax, eax
jne 0x5d52f4
lea eax, [ebp - 0x1c]
push eax
call fcn.00609a4e
add esp, 4
cmp eax, 0x7d0
jae 0x5d5335
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x170]
push 0
push 1
lea edx, [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x34]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.005d4320
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x5d532c
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401f20
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00622d8a
test esi, esi
je 0x5d549c
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x5d549c
xor esi, esi
lea ecx, [ebp - 0x40]
push esi
push eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.004027e0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x15
cmp eax, esi
jne 0x5d5378
lea eax, [ebp - 0x3c]
push 0x2e
push eax
call fcn.00609ba3
add esp, 8
cmp eax, esi
je 0x5d5490
xor esi, esi
mov word [eax], si
mov edi, dword [ebp - 0x40]
cmp edi, esi
je 0x5d53be
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d53b7
cmp word [edi], 0x2e
jne 0x5d53b2
mov word [edi], 0x5f
add edi, 2
jmp 0x5d53a3
mov eax, dword [ebp - 0x40]
cmp eax, esi
jne 0x5d53c1
lea eax, [ebp - 0x3c]
mov edx, str._s_default.html
test edx, edx
je 0x5d5490
cmp eax, esi
je 0x5d5490
push eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x4c], si
call fcn.00401f20
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x16
call fcn.00401070
lea ecx, [ebp - 0x74]
call fcn.004027c0
push esi
push str._s_default.html
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x17
call fcn.004027e0
mov edi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x50]
call fcn.00401f10
push eax
call fcn.00609a4e
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x20], edx
je 0x5d5478
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.00401f10
push eax
lea ecx, [ebp - 0x74]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x20]
push ebx
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0x14
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x16
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x15
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d54a6
lea eax, [ebp - 0x1c]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
jne 0x5d54c0
push str.default.html
lea ecx, [ebp - 0x20]
call fcn.00401f20
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d54ec
push eax
mov edi, eax
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d54e9
cmp word [edi], 0x3a
jne 0x5d54e4
mov word [edi], 0x2d
add edi, 2
jmp 0x5d54d5
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5d5520
test eax, eax
je 0x5d5647
push eax
mov edi, eax
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d551d
cmp word [edi], 0x2a
jne 0x5d5518
mov word [edi], 0x2d
add edi, 2
jmp 0x5d5509
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d5647
push eax
mov edi, eax
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d554a
cmp word [edi], 0x3f
jne 0x5d5545
mov word [edi], 0x2d
add edi, 2
jmp 0x5d5536
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5d5647
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d5575
cmp word [edi], 0x7c
jne 0x5d5570
mov word [edi], 0x2d
add edi, 2
jmp 0x5d5561
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5d5647
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d55a0
cmp word [edi], 0x3c
jne 0x5d559b
mov word [edi], 0x2d
add edi, 2
jmp 0x5d558c
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5d5647
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d55cb
cmp word [edi], 0x3e
jne 0x5d55c6
mov word [edi], 0x2d
add edi, 2
jmp 0x5d55b7
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5d5647
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d55f2
cmp word [edi], 0x22
jne 0x5d55ed
mov word [edi], 0x2d
add edi, 2
jmp 0x5d55de
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5d5647
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d5619
cmp word [edi], 0x25
jne 0x5d5614
mov word [edi], 0x2d
add edi, 2
jmp 0x5d5605
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5d5647
push edi
call fcn.00609a4e
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5d5640
cmp word [edi], 0x5c
jne 0x5d563b
mov word [edi], 0x2d
add edi, 2
jmp 0x5d562c
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x5d564a
lea edi, [ebp - 0x1c]
push edi
call fcn.00609a4e
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5d5669
cmp word [edi + ecx*2], 0x20
jae 0x5d5666
mov word [edi + ecx*2], 0x2d
inc ecx
jmp 0x5d5655
mov eax, dword [0x6fcadc]
test eax, eax
jne 0x5d6043
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d5680
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
jne 0x5d56b2
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d569c
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
je 0x5d5c49
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d5c50
mov edx, 0x6cd7a0
test edx, edx
je 0x5d588f
mov eax, 0x6fc41c
test eax, eax
je 0x5d588f
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d588f
mov ecx, dword [ebp - 0x20]
push 0x6cd7a0
push ecx
call fcn.0060a3e0
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x5d5722
push 0x6cd7a0
inc ebx
call fcn.00609a4e
lea eax, [edi + eax*2]
push 0x6cd7a0
push eax
call fcn.0060a3e0
add esp, 0xc
mov edi, eax
jmp 0x5d56fe
test ebx, ebx
je 0x5d588f
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
mov word [ebp - 0x3c], ax
call fcn.00401f20
push 0x6cd7a0
mov byte [ebp - 4], 0x18
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d57b3
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd7a0
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov edi, eax
call fcn.00609a4e
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d57b6
jmp 0x5d5883
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push 0x6cd7a0
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5d5846
mov esi, dword [ebp - 0x28]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd7a0
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp - 0x14]
push 0x6cd7a0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d57cf
mov esi, dword [ebp - 0x28]
push esi
call fcn.00609a4e
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x28]
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d5c50
mov edx, 0x6cd79c
test edx, edx
je 0x5d5a6c
mov eax, 0x6fc41c
test eax, eax
je 0x5d5a6c
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d5a6c
mov ecx, dword [ebp - 0x20]
push 0x6cd79c
push ecx
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5d58ff
push 0x6cd79c
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd79c
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d58db
test edi, edi
je 0x5d5a6c
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
mov word [ebp - 0x3c], ax
call fcn.00401f20
push 0x6cd79c
mov byte [ebp - 4], 0x19
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d5990
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd79c
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d5993
jmp 0x5d5a60
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push 0x6cd79c
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5d5a23
mov esi, dword [ebp - 0x28]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd79c
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp - 0x14]
push 0x6cd79c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d59ac
mov esi, dword [ebp - 0x28]
push esi
call fcn.00609a4e
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x28]
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d5c50
mov edx, 0x6cd798
test edx, edx
je 0x5d5c49
mov eax, 0x6fc41c
test eax, eax
je 0x5d5c49
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d5c49
mov ecx, dword [ebp - 0x20]
push 0x6cd798
push ecx
call fcn.0060a3e0
add esp, 8
xor ebx, ebx
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5d5ade
push 0x6cd798
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd798
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d5aba
cmp edi, ebx
je 0x5d5c49
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
push edx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x3c], bx
call fcn.00401f20
push 0x6cd798
mov byte [ebp - 4], 0x1a
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d5b6d
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd798
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d5b70
jmp 0x5d5c3d
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push 0x6cd798
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5d5c00
mov esi, dword [ebp - 0x28]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd798
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp - 0x14]
push 0x6cd798
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d5b89
mov esi, dword [ebp - 0x28]
push esi
call fcn.00609a4e
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x28]
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d5c53
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
je 0x5d5e46
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d5e4d
mov edx, 0x6cd794
test edx, edx
je 0x5d5e46
mov eax, 0x6fc41c
test eax, eax
je 0x5d5e46
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d5e46
mov ecx, dword [ebp - 0x20]
push 0x6cd794
push ecx
call fcn.0060a3e0
add esp, 8
xor ebx, ebx
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5d5cdb
push 0x6cd794
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd794
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d5cb7
cmp edi, ebx
je 0x5d5e46
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
push edx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x3c], bx
call fcn.00401f20
push 0x6cd794
mov byte [ebp - 4], 0x1b
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d5d6a
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd794
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d5d6d
jmp 0x5d5e3a
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push 0x6cd794
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5d5dfd
mov esi, dword [ebp - 0x28]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd794
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp - 0x14]
push 0x6cd794
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d5d86
mov esi, dword [ebp - 0x28]
push esi
call fcn.00609a4e
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x28]
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d5e50
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
je 0x5d6043
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d6043
mov edx, 0x6cd790
test edx, edx
je 0x5d6043
mov eax, 0x6fc41c
test eax, eax
je 0x5d6043
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d6043
mov ecx, dword [ebp - 0x20]
push 0x6cd790
push ecx
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5d5ed6
push 0x6cd790
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd790
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d5eb2
test edi, edi
je 0x5d6043
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
mov word [ebp - 0x3c], ax
call fcn.00401f20
push 0x6cd790
mov byte [ebp - 4], 0x1c
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d5f67
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd790
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d5f6a
jmp 0x5d6037
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push 0x6cd790
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5d5ffa
mov esi, dword [ebp - 0x28]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd790
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp - 0x14]
push 0x6cd790
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x28], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d5f83
mov esi, dword [ebp - 0x28]
push esi
call fcn.00609a4e
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x28]
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
mov edi, dword [ebp - 0x30]
push 0x3f
mov edx, dword [edi + 0x28]
push edx
call fcn.00609c00
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.00609c00
mov ebx, eax
mov eax, dword [ebp - 0x20]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x5c], ebx
jne 0x5d6072
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x84], edi
mov word [ebp - 0x88], di
call fcn.00401f20
mov eax, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x1d
cmp eax, edi
jne 0x5d60a5
lea eax, [ebp - 0x88]
push 0x2e
push eax
call fcn.00609ba3
mov edi, eax
add esp, 8
test edi, edi
je 0x5d60cd
mov word [edi], 0
add edi, 2
push edi
call fcn.00609a4e
add esp, 4
test eax, eax
jne 0x5d60cd
xor edi, edi
test esi, esi
je 0x5d70af
test ebx, ebx
je 0x5d701c
cmp ebx, esi
ja 0x5d701c
mov ecx, dword [ebp - 0x5c]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x5d701c
test edi, edi
jne 0x5d70af
mov edx, dword [ebp - 0x30]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [edx + 0x28]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d6e53
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.00622acb
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x28], ebx
je 0x5d70af
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x30]
mov ecx, esi
mov eax, dword [eax + 0x28]
sub ecx, eax
push ecx
push eax
push ebx
call fcn.00609f00
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.004027e0
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x30]
push 0
push 1
push edx
mov edx, dword [ecx + 0x170]
lea eax, [ebp - 0x20]
push eax
push edx
push ebx
call fcn.005d4320
push 0x2e
push ebx
call fcn.0060ab40
add esp, 8
mov dword [ebp - 0x58], eax
test eax, eax
je 0x5d70a6
push eax
call fcn.005d36f0
add esp, 4
test al, al
je 0x5d70a6
mov edi, dword [ebp - 0x30]
push 0x3d
mov eax, dword [edi + 0x28]
push eax
call fcn.0060ab40
mov edi, dword [edi + 0x28]
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
mov dword [ebp - 0x5c], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, esi
jbe 0x5d70a6
mov eax, dword [ebp - 0x5c]
cmp byte [eax + ecx - 1], 0x2e
je 0x5d70a6
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 0x5d61f4
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x58]
mov byte [eax], 0
mov ecx, dword [0x6f7b78]
mov dword [ebp - 0x58], ecx
inc eax
mov byte [ebp - 4], 0x1e
push eax
push edx
push ebx
lea edx, [ebp - 0x58]
push str._s__s._s
push edx
call fcn.0061fae1
mov eax, dword [ebp - 0x58]
add esp, 0x14
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.004027e0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d6256
push eax
mov esi, eax
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d6253
cmp word [esi], 0x3a
jne 0x5d624e
mov word [esi], 0x2d
add esi, 2
jmp 0x5d623f
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5d628a
test eax, eax
je 0x5d645d
push eax
mov esi, eax
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d6287
cmp word [esi], 0x2a
jne 0x5d6282
mov word [esi], 0x2d
add esi, 2
jmp 0x5d6273
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d645d
push eax
mov esi, eax
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d62b4
cmp word [esi], 0x3f
jne 0x5d62af
mov word [esi], 0x2d
add esi, 2
jmp 0x5d62a0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d62df
cmp word [esi], 0x7c
jne 0x5d62da
mov word [esi], 0x2d
add esi, 2
jmp 0x5d62cb
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d630a
cmp word [esi], 0x3c
jne 0x5d6305
mov word [esi], 0x2d
add esi, 2
jmp 0x5d62f6
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d6335
cmp word [esi], 0x3e
jne 0x5d6330
mov word [esi], 0x2d
add esi, 2
jmp 0x5d6321
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d6360
cmp word [esi], 0x22
jne 0x5d635b
mov word [esi], 0x2d
add esi, 2
jmp 0x5d634c
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d638b
cmp word [esi], 0x25
jne 0x5d6386
mov word [esi], 0x2d
add esi, 2
jmp 0x5d6377
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d63b6
cmp word [esi], 0x5c
jne 0x5d63b1
mov word [esi], 0x2d
add esi, 2
jmp 0x5d63a2
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d63e1
cmp word [esi], 0x2f
jne 0x5d63dc
mov word [esi], 0x5f
add esi, 2
jmp 0x5d63cd
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d6408
cmp word [esi], 0x27
jne 0x5d6403
mov word [esi], 0x5f
add esi, 2
jmp 0x5d63f4
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d642f
cmp word [esi], 0x2c
jne 0x5d642a
mov word [esi], 0x5f
add esi, 2
jmp 0x5d641b
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5d645d
push esi
call fcn.00609a4e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5d6456
cmp word [esi], 0x3b
jne 0x5d6451
mov word [esi], 0x5f
add esi, 2
jmp 0x5d6442
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x5d6460
lea esi, [ebp - 0x1c]
push esi
call fcn.00609a4e
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5d647f
cmp word [esi + ecx*2], 0x20
jae 0x5d647c
mov word [esi + ecx*2], 0x2d
inc ecx
jmp 0x5d646b
mov eax, dword [0x6fcadc]
test eax, eax
jne 0x5d6e3f
mov eax, dword [ebp - 0x20]
xor ebx, ebx
cmp eax, ebx
jne 0x5d6498
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
jne 0x5d64ca
mov eax, dword [ebp - 0x20]
cmp eax, ebx
jne 0x5d64b4
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
je 0x5d6a55
cmp dword [ebp - 0x20], ebx
je 0x5d6a5c
mov ecx, 0x6cd7a0
test ecx, ecx
je 0x5d66a3
mov edx, 0x6fc41c
test edx, edx
je 0x5d66a3
push edx
push ecx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d66a3
mov eax, dword [ebp - 0x20]
push 0x6cd7a0
push eax
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5d6538
push 0x6cd7a0
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd7a0
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d6514
cmp edi, ebx
je 0x5d66a3
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
push ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x3c], bx
call fcn.00401f20
push 0x6cd7a0
mov byte [ebp - 4], 0x1f
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d65c7
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd7a0
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
sub eax, ebx
imul eax, edi
add esi, eax
lea edx, [esi + esi + 2]
push edx
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d65ca
jmp 0x5d6697
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push 0x6cd7a0
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5d665a
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd7a0
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
push 0x6cd7a0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d65e3
mov esi, dword [ebp - 0x14]
push esi
call fcn.00609a4e
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1e
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d6a5c
mov edx, 0x6cd79c
test edx, edx
je 0x5d687c
mov eax, 0x6fc41c
test eax, eax
je 0x5d687c
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d687c
mov ecx, dword [ebp - 0x20]
push 0x6cd79c
push ecx
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5d6713
push 0x6cd79c
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd79c
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d66ef
test edi, edi
je 0x5d687c
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.00401ee0
push 0x6cd79c
mov byte [ebp - 4], 0x20
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d67a0
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x50]
test esi, esi
jne 0x5d675a
lea esi, [ebp - 0x4c]
push 0x6cd79c
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d67a3
jmp 0x5d6870
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00401f10
push 0x6cd79c
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5d6833
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd79c
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
push 0x6cd79c
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d67bc
mov esi, dword [ebp - 0x14]
push esi
call fcn.00609a4e
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1e
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d6a5c
mov edx, 0x6cd798
test edx, edx
je 0x5d6a55
mov eax, 0x6fc41c
test eax, eax
je 0x5d6a55
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d6a55
mov ecx, dword [ebp - 0x20]
push 0x6cd798
push ecx
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5d68ec
push 0x6cd798
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd798
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d68c8
test edi, edi
je 0x5d6a55
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.00401ee0
push 0x6cd798
mov byte [ebp - 4], 0x21
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d6979
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x50]
test esi, esi
jne 0x5d6933
lea esi, [ebp - 0x4c]
push 0x6cd798
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d697c
jmp 0x5d6a49
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00401f10
push 0x6cd798
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5d6a0c
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd798
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
push 0x6cd798
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d6995
mov esi, dword [ebp - 0x14]
push esi
call fcn.00609a4e
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1e
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d6a5f
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
je 0x5d6c4e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d6c55
mov edx, 0x6cd794
test edx, edx
je 0x5d6c4e
mov eax, 0x6fc41c
test eax, eax
je 0x5d6c4e
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d6c4e
mov ecx, dword [ebp - 0x20]
push 0x6cd794
push ecx
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5d6ae5
push 0x6cd794
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd794
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d6ac1
test edi, edi
je 0x5d6c4e
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
push edx
call fcn.00401ee0
push 0x6cd794
mov byte [ebp - 4], 0x22
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d6b72
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x50]
test esi, esi
jne 0x5d6b2c
lea esi, [ebp - 0x4c]
push 0x6cd794
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d6b75
jmp 0x5d6c42
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.00401f10
push 0x6cd794
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5d6c05
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd794
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
push 0x6cd794
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d6b8e
mov esi, dword [ebp - 0x14]
push esi
call fcn.00609a4e
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1e
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d6c58
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.0060a17b
add esp, 8
test eax, eax
je 0x5d6e3f
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5d6e3f
mov edx, 0x6cd790
test edx, edx
je 0x5d6e3f
mov eax, 0x6fc41c
test eax, eax
je 0x5d6e3f
push eax
push edx
call fcn.0060a1a4
add esp, 8
test eax, eax
je 0x5d6e3f
mov ecx, dword [ebp - 0x20]
push 0x6cd790
push ecx
call fcn.0060a3e0
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5d6cde
push 0x6cd790
inc edi
call fcn.00609a4e
lea eax, [esi + eax*2]
push 0x6cd790
push eax
call fcn.0060a3e0
add esp, 0xc
mov esi, eax
jmp 0x5d6cba
test edi, edi
je 0x5d6e3f
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x74]
push edx
call fcn.00401ee0
push 0x6cd790
mov byte [ebp - 4], 0x23
call fcn.00609a4e
push 0x6fc41c
mov esi, eax
call fcn.00609a4e
add esp, 8
cmp eax, esi
jbe 0x5d6d63
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x74]
call fcn.00401f10
push eax
call fcn.00609a4e
push 0x6cd790
mov esi, eax
call fcn.00609a4e
push 0x6fc41c
mov ebx, eax
call fcn.00609a4e
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.00622acb
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5d6d66
jmp 0x5d6e33
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x74]
call fcn.00401f10
push 0x6cd790
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5d6df6
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6fc41c
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.00609a4e
mov ecx, eax
mov esi, 0x6fc41c
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6fc41c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00609a4e
push 0x6cd790
lea ebx, [ebx + eax*2]
call fcn.00609a4e
mov ecx, dword [ebp + 0x10]
push 0x6cd790
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.0060a3e0
add esp, 0x14
jmp 0x5d6d7f
mov esi, dword [ebp - 0x14]
push esi
call fcn.00609a4e
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.00609a4e
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1e
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1d
call fcn.00622d8a
mov ebx, dword [ebp - 0x28]
jmp 0x5d70a6
cmp ebx, esi
jae 0x5d6e71
push 0x2e
push ebx
call fcn.00609c00
add esp, 8
test eax, eax
je 0x5d6e71
lea edx, [eax + 1]
cmp edx, esi
jae 0x5d6e71
mov ebx, eax
jmp 0x5d6e53
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x5d7008
push edi
call fcn.00622acb
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.00609f00
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.004027e0
mov eax, dword [ebp - 0x50]
mov byte [ebp - 4], 0x24
cmp eax, ebx
mov edi, eax
jne 0x5d6ed5
lea edi, [ebp - 0x4c]
mov eax, dword [ebp - 0x8c]
cmp eax, ebx
mov esi, eax
jne 0x5d6ee7
lea esi, [ebp - 0x88]
mov eax, 0x6cd73c
test eax, eax
je 0x5d6feb
cmp esi, ebx
je 0x5d6feb
cmp edi, ebx
je 0x5d6feb
lea ecx, [ebp - 0x74]
call fcn.004027c0
push ebx
push 0x6cd73c
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x25
call fcn.004027e0
push esi
lea ecx, [ebp - 0x80]
call fcn.00401ee0
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x26
call fcn.00401ee0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x27
call fcn.00401070
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
call fcn.00609a4e
add esp, 4
lea ecx, [ebp - 0x80]
mov edi, eax
call fcn.00401f10
push eax
call fcn.00609a4e
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x20], edx
je 0x5d6fc7
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 - 0x40]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x80]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x74]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x26
call fcn.00401070
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x25
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x24
call fcn.00401070
mov edx, dword [ebp + 0x10]
push edx
call fcn.00622af4
add esp, 4
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x1d
call fcn.00401070
jmp 0x5d70af
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x20]
push eax
call fcn.00401f20
jmp 0x5d70af
test edi, edi
jne 0x5d70af
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov edx, dword [ecx + 0x28]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d70af
cmp esi, edx
jbe 0x5d70af
mov eax, dword [ebp - 0x5c]
inc eax
cmp eax, esi
je 0x5d70af
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.00622acb
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x5d70af
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x28]
sub esi, eax
push esi
push eax
push ebx
call fcn.00609f00
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.004027e0
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx + 0x170]
push eax
push ebx
call fcn.005d4320
push ebx
call fcn.00622af4
add esp, 4
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov edx, dword [ecx + 0x354]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5d746a
mov cl, byte [edx]
mov edx, dword [ebp - 0x20]
cmp cl, 0x2e
push edx
sete bl
xor esi, esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.00401f20
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x28
cmp eax, esi
jne 0x5d70f8
lea eax, [ebp - 0x3c]
push 0x2e
push eax
call fcn.00609ba3
mov esi, eax
xor edi, edi
add esp, 8
cmp esi, edi
je 0x5d72ac
test bl, bl
jne 0x5d7116
add esi, 2
lea eax, [ebp + 0x10]
push esi
push eax
call fcn.00402850
add esp, 8
mov ebx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x29
mov eax, dword [ebx + 0x354]
mov ecx, dword [eax - 8]
inc ecx
push ecx
mov ecx, dword [ebp + 0x10]
push eax
push ecx
call fcn.0060bf70
add esp, 0xc
test eax, eax
je 0x5d729b
mov word [esi], di
mov eax, dword [ebx + 0x354]
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.004027e0
mov eax, dword [ebp - 0x50]
cmp eax, edi
mov ebx, eax
jne 0x5d7173
lea ebx, [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
cmp eax, edi
mov esi, eax
jne 0x5d717f
lea esi, [ebp - 0x3c]
mov edx, 0x6c900c
test edx, edx
je 0x5d728f
cmp esi, edi
je 0x5d728f
cmp ebx, edi
je 0x5d728f
lea ecx, [ebp - 0x74]
call fcn.004027c0
push edi
push 0x6c900c
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2b
call fcn.004027e0
push esi
lea ecx, [ebp - 0xa4]
call fcn.00401ee0
push ebx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x2c
call fcn.00401ee0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x2d
call fcn.00401070
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x80]
call fcn.00401f10
push eax
call fcn.00609a4e
add esp, 4
lea ecx, [ebp - 0xa4]
mov edi, eax
call fcn.00401f10
push eax
call fcn.00609a4e
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x20], edx
je 0x5d7268
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 - 0x80]
call fcn.00401f10
push eax
lea ecx, [ebp - 0xa4]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x74]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x2c
call fcn.00401070
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x2b
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2a
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x29
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x28
call fcn.00622d8a
jmp 0x5d745e
mov edx, dword [ebp - 0x30]
push edi
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], edi
mov eax, dword [edx + 0x354]
mov dword [ebp - 0x48], edi
push eax
mov word [ebp - 0x4c], di
call fcn.004027e0
test bl, bl
mov byte [ebp - 4], 0x2e
mov ebx, 0x6fc41c
jne 0x5d72db
mov ebx, 0x6c9f74
mov eax, dword [ebp - 0x50]
cmp eax, edi
mov esi, eax
jne 0x5d72e7
lea esi, [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
cmp eax, edi
jne 0x5d72f1
lea eax, [ebp - 0x3c]
mov ecx, 0x6c9cb0
test ecx, ecx
je 0x5d7452
cmp eax, edi
je 0x5d7452
cmp ebx, edi
je 0x5d7452
cmp esi, edi
je 0x5d7452
push eax
lea ecx, [ebp - 0xb0]
call fcn.00401ee0
push ebx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x2f
call fcn.00401ee0
push esi
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x30
call fcn.00401ee0
mov bl, 0x31
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x74]
call fcn.004027c0
push edi
push 0x6c9cb0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x32
call fcn.004027e0
mov esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0xa4]
call fcn.00401f10
push eax
call fcn.00609a4e
add esp, 4
lea ecx, [ebp - 0x80]
mov edi, eax
call fcn.00401f10
push eax
call fcn.00609a4e
mov dword [ebp + 0x10], edi
mov edi, eax
add esp, 4
lea ecx, [ebp - 0xb0]
add edi, esi
call fcn.00401f10
push eax
call fcn.00609a4e
mov edx, dword [ebp + 0x10]
add edi, edx
lea esi, [eax + edi + 4]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x20], edx
je 0x5d741d
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 - 0xa4]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x80]
call fcn.00401f10
push eax
lea ecx, [ebp - 0xb0]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x74]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00609a4e
add esp, 0x1c
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x30
call fcn.00401070
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x2f
call fcn.00401070
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x2e
call fcn.00401070
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x28
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1d
call fcn.00401070
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 2
call fcn.00622d8a
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x44]
cmp eax, 4
je 0x5d7495
cmp eax, 5
jne 0x5d74cd
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5d749f
lea eax, [ebp - 0x1c]
push 0x2e
push eax
call fcn.00609ba3
add esp, 8
test eax, eax
push str..flv
je 0x5d74c5
push eax
call fcn.0060c3d3
add esp, 8
test eax, eax
je 0x5d74cd
push str..flv
lea ecx, [ebp - 0x20]
call fcn.0046c750
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x90], ecx
mov word [ebp - 0x94], cx
mov esi, dword [ebp + 8]
mov bl, 0x33
cmp esi, ecx
mov byte [ebp - 4], bl
je 0x5d756d
mov eax, dword [ebp - 0x20]
cmp eax, ecx
jne 0x5d74f8
lea eax, [ebp - 0x1c]
push 0x2e
push eax
call fcn.00609ba3
mov edx, dword [0x6f7b78]
add esp, 8
mov dword [ebp + 0x10], edx
test eax, eax
mov byte [ebp - 4], 0x34
je 0x5d7520
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.00622f3a
mov edx, dword [edi + 0x20]
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0x98]
push eax
mov eax, dword [ebp + 0x10]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004c3460
test al, al
jne 0x5d7552
lea ecx, [ebp - 0x98]
push ecx
call fcn.0044d070
add esp, 4
jmp 0x5d7560
mov edx, dword [ebp - 0xb4]
mov ecx, edi
push edx
call fcn.005c72c0
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], bl
call fcn.00622d8a
jmp 0x5d757c
lea eax, [ebp - 0x98]
push eax
call fcn.0044d070
add esp, 4
lea ecx, [ebp - 0x98]
call fcn.00401f10
push eax
call fcn.00609a4e
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x5d75a6
mov esi, 0x100
lea ecx, [ebp - 0x20]
call fcn.00401f10
push eax
call fcn.00609a4e
add esp, 4
cmp eax, esi
jbe 0x5d760e
lea ecx, [ebp - 0x20]
call fcn.00401f10
push eax
call fcn.00609a4e
mov edx, eax
add esp, 4
sub edx, esi
lea ecx, [ebp - 0x20]
mov dword [ebp + 0x10], edx
call fcn.00401f10
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx*2]
lea ecx, [ebp - 0xb0]
push edx
call fcn.00401ee0
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x35
call fcn.00401f20
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], bl
call fcn.00401070
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.00401f10
push eax
call fcn.00609ba3
mov esi, eax
add esp, 8
test esi, esi
je 0x5d764f
add esi, 2
push esi
call fcn.00609a4e
add esp, 4
cmp eax, 1
jbe 0x5d764f
push esi
call fcn.00609a4e
add esp, 4
cmp eax, 5
jae 0x5d764f
push esi
call fcn.0060c4b2
add esp, 4
lea ecx, [ebp - 0x98]
call fcn.00401f10
cmp word [eax + edi*2 - 2], 0x5c
mov esi, 0x6fc41c
je 0x5d766c
mov esi, 0x6c91c0
push 0
lea ecx, [ebp - 0x20]
call fcn.00401f10
push eax
push esi
lea ecx, [ebp - 0x98]
call fcn.00401f10
mov ecx, dword [ebp + 0xc]
push eax
push 0x6c9cb0
call fcn.004472d0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00401070
lea ecx, [ebp - 0x68]
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