Function at 0x542530
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5aee48
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 - 0x24], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], esi
mov word [ebp - 0x54], si
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], esi
mov word [ebp - 0x18], 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 0x5425c2
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov al, byte [ebx + 0x2cd]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0xe4]
push eax
neg al
push 1
push edx
sbb eax, eax
lea edx, [ebp - 0x1c]
and eax, 0xfde9
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00542500
jmp 0x543881
mov eax, dword [0x65ec1c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebx + 0x28]
push 0x63ac48
push ecx
mov byte [ebp - 4], 3
call fcn.0056c6b0
add esp, 8
test eax, eax
je 0x542905
mov edx, dword [ebx + 0x28]
push 0x3d
push edx
call fcn.0056c5b0
mov edi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x7c], edi
call fcn.0056c5b0
mov ecx, dword [ebx + 0x28]
mov esi, eax
push 0x2f
push ecx
mov dword [ebp - 0xb4], esi
call fcn.0056c5b0
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x1d], 0
jbe 0x5427d9
cmp edi, eax
jbe 0x5427d9
lea edx, [edi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x54280c
push edx
lea ecx, [ebp - 0x28]
call fcn.00588849
mov edx, dword [ebp - 0x28]
push 0x2e
push edx
call fcn.0056c5b0
add esp, 8
mov dword [ebp - 0x30], eax
test eax, eax
je 0x5427d9
cmp eax, dword [ebp - 0x28]
je 0x5427d9
mov eax, dword [0x65ec1c]
mov byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
mov ecx, dword [ebx + 0x28]
lea edx, [ebp - 0x34]
push ecx
push 0x638fa8
push edx
mov byte [ebp - 4], 4
call fcn.0058148b
mov eax, dword [ebp - 0x34]
add esp, 0xc
push 0x3f
push eax
call fcn.0056c5f0
add esp, 8
test eax, eax
je 0x5426a9
mov byte [eax], 0
mov ecx, dword [ebp - 0x34]
push 0x2e
push ecx
call fcn.0056c5b0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x542727
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x542727
mov edx, dword [0x65ec1c]
mov dword [ebp - 0x78], edx
push ebx
lea eax, [ebp - 0x78]
push 0x638fa8
push eax
mov byte [ebp - 4], 5
call fcn.0058148b
add esp, 0xc
lea ecx, [ebp - 0x78]
call fcn.00588b7c
mov ecx, dword [ebp - 0x78]
push ecx
push str.3GP_7Z_AAC_ACE_AIF_ARJ_ASF_AVI_BIN_BZ2_EXE_GZ_GZIP_IMG_ISO_LZH_M4A_M4V_MKV_MOV_MP3_MP4_MPA_MPE_MPEG_MPG_MSI_MSU_OGG_OGV_PDF_PLJ_PPS_PPT_QT_R0_R1_RA_RAR_RM_SEA_SIT_SITX_TAR_TIF_TIFF_WAV_WMA_WMV_Z_ZIP
call fcn.0056c6b0
add esp, 8
test eax, eax
je 0x54271b
push 0x2a
push ebx
call fcn.0056c5f0
add esp, 8
test eax, eax
jne 0x54271b
mov byte [ebp - 0x29], 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 4
call fcn.005886c0
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x24]
inc eax
or ecx, 0xffffffff
mov esi, dword [edx + 0xec]
mov dword [ebp - 0x30], eax
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x54275b
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x5427ab
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5427ab
test esi, esi
je 0x5427ab
mov al, byte [ebp - 0x29]
test al, al
je 0x542776
push ebx
push esi
mov ecx, 0x6635c0
call fcn.004209c0
test eax, eax
jne 0x5427b2
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x30]
push eax
call fcn.0058872e
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 6
push ecx
push esi
mov ecx, 0x6635c0
call fcn.004209c0
test eax, eax
je 0x54279d
mov byte [ebp - 0x1d], 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.005886c0
jmp 0x5427c2
mov al, byte [ebp - 0x29]
test al, al
je 0x5427be
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x28]
push edx
call fcn.005887f9
mov byte [ebp - 0x1d], 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.005886c0
mov al, byte [ebp - 0x1d]
test al, al
jne 0x542893
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x68]
cmp eax, ecx
jbe 0x54284f
cmp eax, edx
jbe 0x54284f
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x54282c
push edx
lea ecx, [ebp - 0x28]
call fcn.00588849
jmp 0x542893
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x28]
push eax
call fcn.00588849
mov ecx, dword [ebp - 0x28]
push 0x3f
push ecx
call fcn.0056c5f0
add esp, 8
test eax, eax
je 0x542893
jmp 0x542890
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
mov eax, dword [edx + 0x28]
push eax
call fcn.00588849
mov ecx, dword [ebp - 0x28]
push 0x3f
push ecx
call fcn.0056c5f0
add esp, 8
test eax, eax
je 0x542893
jmp 0x542890
test eax, eax
jne 0x54286f
test edx, edx
je 0x54286f
inc edx
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x54286f
push edx
lea ecx, [ebp - 0x28]
call fcn.00588849
jmp 0x542893
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
mov eax, dword [edx + 0x28]
push eax
call fcn.00588849
mov ecx, dword [ebp - 0x28]
push 0x3f
push ecx
call fcn.0056c5f0
add esp, 8
test eax, eax
je 0x542893
mov byte [eax], 0
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x58]
mov ebx, dword [edx + 0x168]
call fcn.00401070
test esi, esi
je 0x542974
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x542974
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push eax
push 0xffffffffffffffff
push esi
push eax
push ebx
call edi
test eax, eax
mov dword [ebp - 0x50], eax
je 0x542974
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 4
mov dword [ebp - 0x58], eax
test eax, eax
je 0x54297b
mov ecx, dword [ebp - 0x50]
push ecx
push eax
push 0xffffffffffffffff
push esi
push 0
push ebx
call edi
mov dword [ebp - 0x50], eax
jmp 0x542974
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x58]
mov ebx, dword [eax + 0x168]
mov esi, dword [eax + 0x28]
call fcn.00401070
test esi, esi
je 0x542965
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x542965
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push eax
push 0xffffffffffffffff
push esi
push eax
push ebx
call edi
test eax, eax
mov dword [ebp - 0x50], eax
je 0x542965
lea edx, [eax + eax + 2]
push edx
call fcn.00584a5c
add esp, 4
mov dword [ebp - 0x58], eax
test eax, eax
je 0x542965
mov ecx, dword [ebp - 0x50]
push ecx
push eax
push 0xffffffffffffffff
push esi
push 0
push ebx
call edi
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
mov eax, dword [edx + 0x28]
push eax
call fcn.00588849
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x54297e
lea eax, [ebp - 0x54]
push eax
call fcn.0056ca2e
add esp, 4
cmp eax, 0x7d0
jae 0x5429b1
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x10]
push 0
push 1
mov eax, dword [ebx + 0x168]
lea edx, [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x28]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00542500
jmp 0x5429b4
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x5429be
lea eax, [ebp - 0x54]
push 0x3d
push eax
call fcn.0056cc8e
mov edi, eax
mov eax, dword [ebp - 0x58]
add esp, 8
test eax, eax
jne 0x5429d5
lea eax, [ebp - 0x54]
push 0x3f
push eax
call fcn.0056cc8e
mov esi, eax
mov eax, dword [ebp - 0x58]
add esp, 8
test eax, eax
jne 0x5429ec
lea eax, [ebp - 0x54]
push 0x2f
push eax
call fcn.0056cc8e
add esp, 8
cmp esi, edi
jae 0x542a07
cmp edi, eax
jbe 0x542a05
add edi, 2
push edi
jmp 0x542a1b
cmp esi, edi
jbe 0x542a13
cmp esi, eax
jbe 0x542a13
add esi, 2
push esi
jmp 0x542a1b
test eax, eax
je 0x542a23
add eax, 2
push eax
lea ecx, [ebp - 0x58]
call fcn.00402e10
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x542a2d
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402e10
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x542a40
lea eax, [ebp - 0x54]
push eax
call fcn.0056ca2e
add esp, 4
test eax, eax
jne 0x542cd4
mov edx, dword [ebx + 0x24]
mov esi, 1
test edx, edx
je 0x542b7d
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jbe 0x542b7d
mov eax, dword [0x65ec1c]
mov dword [ebp - 0x34], eax
push edx
lea ecx, [ebp - 0x34]
push 0x638fa8
push ecx
mov byte [ebp - 4], 7
call fcn.0058148b
mov edx, dword [ebp - 0x34]
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 0x542ab6
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x34]
call fcn.00588ba0
mov edx, dword [ebp - 0x34]
push 0x2f
push edx
call fcn.0056c5b0
add esp, 8
test eax, eax
je 0x542b69
inc eax
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov edx, 0x63fd68
test edx, edx
je 0x542b67
push edx
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x542b67
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x542b03
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x542b05
xor esi, esi
push 0x63fd68
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
mov esi, eax
add esp, 8
test esi, esi
je 0x542b67
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x542b42
push eax
push esi
call fcn.0056ca09
push 0x63fd68
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x542b50
push 0x63fd68
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
xor esi, esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.005886c0
test esi, esi
je 0x542cb0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x542cb0
xor edi, edi
lea ecx, [ebp - 0x64]
push edi
push eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x5c], edi
mov word [ebp - 0x60], di
call fcn.00402600
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 8
cmp eax, edi
jne 0x542baf
lea eax, [ebp - 0x60]
push 0x2e
push eax
call fcn.0056cc8e
add esp, 8
cmp eax, edi
je 0x542ca4
mov word [eax], di
mov esi, dword [ebp - 0x64]
cmp esi, edi
je 0x542bf3
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542bec
cmp word [esi], 0x2e
jne 0x542be7
mov word [esi], 0x5f
add esi, 2
jmp 0x542bd8
mov eax, dword [ebp - 0x64]
cmp eax, edi
jne 0x542bf6
lea eax, [ebp - 0x60]
mov edx, str._s_default.html
test edx, edx
je 0x542ca4
cmp eax, edi
je 0x542ca4
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
call fcn.00402e10
mov bl, 9
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.00401070
push str._s_default.html
lea ecx, [ebp - 0x40]
call fcn.004039e0
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call fcn.00403a60
push eax
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x542c8d
lea ecx, [ebp - 0x4c]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x40]
call fcn.00403a60
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0056ca74
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056ca2e
add esp, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
call fcn.00401070
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x542cba
lea eax, [ebp - 0x18]
push eax
call fcn.0056ca2e
add esp, 4
test eax, eax
jne 0x542cd4
push str.default.html
lea ecx, [ebp - 0x1c]
call fcn.00402e10
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x542d00
push eax
mov esi, eax
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542cfd
cmp word [esi], 0x3a
jne 0x542cf8
mov word [esi], 0x2d
add esi, 2
jmp 0x542ce9
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x542d34
test eax, eax
je 0x542e54
push eax
mov esi, eax
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542d31
cmp word [esi], 0x2a
jne 0x542d2c
mov word [esi], 0x2d
add esi, 2
jmp 0x542d1d
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x542e54
push eax
mov esi, eax
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542d5e
cmp word [esi], 0x3f
jne 0x542d59
mov word [esi], 0x2d
add esi, 2
jmp 0x542d4a
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x542e54
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542d89
cmp word [esi], 0x7c
jne 0x542d84
mov word [esi], 0x2d
add esi, 2
jmp 0x542d75
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x542e54
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542db4
cmp word [esi], 0x3c
jne 0x542daf
mov word [esi], 0x2d
add esi, 2
jmp 0x542da0
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x542e54
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542ddf
cmp word [esi], 0x3e
jne 0x542dda
mov word [esi], 0x2d
add esi, 2
jmp 0x542dcb
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x542e54
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542e06
cmp word [esi], 0x22
jne 0x542e01
mov word [esi], 0x2d
add esi, 2
jmp 0x542df2
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x542e54
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542e2d
cmp word [esi], 0x25
jne 0x542e28
mov word [esi], 0x2d
add esi, 2
jmp 0x542e19
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x542e54
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x542e54
cmp word [esi], 0x5c
jne 0x542e4f
mov word [esi], 0x2d
add esi, 2
jmp 0x542e40
mov edi, dword [ebp - 0x24]
push 0x3f
mov eax, dword [edi + 0x28]
push eax
call fcn.0056c5f0
mov ecx, dword [edi + 0x28]
push 0x2e
push ecx
mov esi, eax
call fcn.0056c5f0
mov ebx, eax
mov eax, dword [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x7c], ebx
test eax, eax
jne 0x542e81
lea eax, [ebp - 0x18]
xor edi, edi
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x6c], edi
mov word [ebp - 0x70], di
call fcn.00402e10
mov eax, dword [ebp - 0x74]
mov byte [ebp - 4], 0xb
cmp eax, edi
jne 0x542ea4
lea eax, [ebp - 0x70]
push 0x2e
push eax
call fcn.0056cc8e
mov edi, eax
add esp, 8
test edi, edi
je 0x542ecc
mov word [edi], 0
add edi, 2
push edi
call fcn.0056ca2e
add esp, 4
test eax, eax
jne 0x542ecc
xor edi, edi
test esi, esi
je 0x5434ca
test ebx, ebx
je 0x54343a
cmp ebx, esi
ja 0x54343a
inc ebx
cmp ebx, esi
je 0x543437
test edi, edi
jne 0x543437
mov edx, dword [ebp - 0x24]
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 0x543282
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.00584a5c
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x68], ebx
je 0x5434ca
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 edi, dword [ebp - 0x24]
mov ecx, esi
mov eax, dword [edi + 0x28]
sub ecx, eax
push ecx
push eax
push ebx
call fcn.0056cb90
push 0x2e
push ebx
call fcn.0056c5b0
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x30], eax
push 0
push ebx
call fcn.00402600
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x543279
mov ebx, eax
push str..asp
push ebx
call fcn.00575a20
add esp, 8
test eax, eax
je 0x542fc0
push str..jsp
push ebx
call fcn.00575a20
add esp, 8
test eax, eax
je 0x542fc0
push str..cgi
push ebx
call fcn.00575a20
add esp, 8
test eax, eax
je 0x542fc0
push str..php
push ebx
call fcn.00575a20
add esp, 8
test eax, eax
jne 0x543279
mov edx, dword [edi + 0x28]
push 0x3d
push edx
call fcn.0056c5b0
mov ebx, dword [edi + 0x28]
mov edx, eax
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, esi
jbe 0x543279
cmp byte [ebx + ecx - 1], 0x2e
je 0x543279
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 0x543008
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x30]
mov byte [eax], 0
mov ecx, dword [0x65ec1c]
mov dword [ebp - 0x30], ecx
inc eax
mov byte [ebp - 4], 0xc
push eax
push edx
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x30]
push edx
push str._s__s._s
push eax
call fcn.0058148b
mov ecx, dword [ebp - 0x30]
add esp, 0x14
push 0
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402600
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x54306d
push eax
mov esi, eax
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54306a
cmp word [esi], 0x3a
jne 0x543065
mov word [esi], 0x2d
add esi, 2
jmp 0x543056
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5430a1
test eax, eax
je 0x54326d
push eax
mov esi, eax
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54309e
cmp word [esi], 0x2a
jne 0x543099
mov word [esi], 0x2d
add esi, 2
jmp 0x54308a
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x54326d
push eax
mov esi, eax
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5430cb
cmp word [esi], 0x3f
jne 0x5430c6
mov word [esi], 0x2d
add esi, 2
jmp 0x5430b7
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5430f6
cmp word [esi], 0x7c
jne 0x5430f1
mov word [esi], 0x2d
add esi, 2
jmp 0x5430e2
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x543121
cmp word [esi], 0x3c
jne 0x54311c
mov word [esi], 0x2d
add esi, 2
jmp 0x54310d
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54314c
cmp word [esi], 0x3e
jne 0x543147
mov word [esi], 0x2d
add esi, 2
jmp 0x543138
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x543177
cmp word [esi], 0x22
jne 0x543172
mov word [esi], 0x2d
add esi, 2
jmp 0x543163
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5431a2
cmp word [esi], 0x25
jne 0x54319d
mov word [esi], 0x2d
add esi, 2
jmp 0x54318e
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5431cd
cmp word [esi], 0x5c
jne 0x5431c8
mov word [esi], 0x2d
add esi, 2
jmp 0x5431b9
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5431f8
cmp word [esi], 0x2f
jne 0x5431f3
mov word [esi], 0x5f
add esi, 2
jmp 0x5431e4
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54321f
cmp word [esi], 0x27
jne 0x54321a
mov word [esi], 0x5f
add esi, 2
jmp 0x54320b
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x543246
cmp word [esi], 0x2c
jne 0x543241
mov word [esi], 0x5f
add esi, 2
jmp 0x543232
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54326d
push esi
call fcn.0056ca2e
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54326d
cmp word [esi], 0x3b
jne 0x543268
mov word [esi], 0x5f
add esi, 2
jmp 0x543259
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xb
call fcn.005886c0
mov edx, dword [ebp - 0x68]
push edx
jmp 0x5434c2
cmp ebx, esi
jae 0x5432a0
push 0x2e
push ebx
call fcn.0056c5f0
add esp, 8
test eax, eax
je 0x5432a0
lea ecx, [eax + 1]
cmp ecx, esi
jae 0x5432a0
mov ebx, eax
jmp 0x543282
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x543426
push edi
call fcn.00584a5c
mov edx, eax
mov ecx, edi
mov dword [ebp - 0x68], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
push esi
push ebx
mov ebx, dword [ebp - 0x68]
and ecx, 3
push ebx
rep stosb byte es:[edi], al
call fcn.0056cb90
add esp, 0xc
xor edi, edi
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], edi
push edi
push ebx
mov dword [ebp - 0x5c], edi
mov word [ebp - 0x60], di
call fcn.00402600
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0xd
cmp eax, edi
jne 0x543302
lea eax, [ebp - 0x60]
mov esi, dword [ebp - 0x74]
mov dword [ebp + 0x10], eax
cmp esi, edi
jne 0x54330f
lea esi, [ebp - 0x70]
mov ecx, str._s._s
test ecx, ecx
je 0x54340c
cmp esi, edi
je 0x54340c
cmp dword [ebp + 0x10], edi
je 0x54340c
push edi
push ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
call fcn.00402600
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xe
call fcn.004039b0
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x40]
push edx
mov byte [ebp - 4], 0xf
call fcn.004039b0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x10
call fcn.00401070
mov esi, dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
call fcn.00403a60
push eax
call fcn.0056ca2e
add esp, 4
lea ecx, [ebp - 0x88]
mov ebx, eax
call fcn.00403a60
push eax
call fcn.0056ca2e
add esi, ebx
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x5433e2
lea ecx, [ebp - 0x40]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x88]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403a60
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0056ca74
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056ca2e
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xf
call fcn.00401070
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xe
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xd
call fcn.00401070
mov ebx, dword [ebp - 0x68]
push ebx
call fcn.00584a85
add esp, 4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.00401070
jmp 0x5434ca
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00402e10
jmp 0x5434ca
mov ebx, dword [ebp - 0x7c]
test edi, edi
jne 0x5434ca
mov ecx, dword [ebp - 0x24]
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 0x5434ca
cmp esi, edx
jbe 0x5434ca
inc ebx
cmp ebx, esi
je 0x5434ca
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.00584a5c
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x5434ca
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 - 0x24]
mov eax, dword [eax + 0x28]
sub esi, eax
push esi
push eax
push ebx
call fcn.0056cb90
add esp, 0xc
lea ecx, [ebp - 0x1c]
push 0
push ebx
call fcn.00402600
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ecx + 0x168]
push eax
push ebx
call fcn.00542500
push ebx
call fcn.00584a85
add esp, 4
mov ebx, dword [ebp - 0x24]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0x2e4]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x543869
mov cl, byte [edx]
cmp cl, 0x2e
mov ecx, dword [ebp - 0x1c]
sete byte [ebp + 0x13]
xor edi, edi
push ecx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x5c], edi
mov word [ebp - 0x60], di
call fcn.00402e10
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x11
cmp eax, edi
jne 0x543514
lea eax, [ebp - 0x60]
push 0x2e
push eax
call fcn.0056cc8e
mov esi, eax
add esp, 8
cmp esi, edi
je 0x5436b6
mov al, byte [ebp + 0x13]
test al, al
jne 0x543533
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.00588780
mov eax, dword [ebx + 0x2e4]
mov edx, dword [ebp + 0x10]
mov byte [ebp - 4], 0x12
mov ecx, dword [eax - 8]
inc ecx
push ecx
push eax
push edx
call fcn.0056e7e0
add esp, 0xc
test eax, eax
je 0x5436a5
mov word [esi], di
mov eax, dword [ebx + 0x2e4]
push edi
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
call fcn.00402600
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x13
cmp eax, edi
mov ebx, eax
jne 0x54358d
lea ebx, [ebp - 0x3c]
mov esi, dword [ebp - 0x64]
cmp esi, edi
jne 0x543597
lea esi, [ebp - 0x60]
mov eax, 0x639028
test eax, eax
je 0x543699
cmp esi, edi
je 0x543699
cmp ebx, edi
je 0x543699
push edi
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
call fcn.00402600
push esi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x14
call fcn.004039b0
push ebx
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.004039b0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x16
call fcn.00401070
mov esi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00403a60
push eax
call fcn.0056ca2e
add esp, 4
lea ecx, [ebp - 0xac]
mov ebx, eax
call fcn.00403a60
push eax
call fcn.0056ca2e
add esi, ebx
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
call fcn.00584a5c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x54366f
lea ecx, [ebp - 0x88]
call fcn.00403a60
push eax
lea ecx, [ebp - 0xac]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403a60
mov edx, dword [ebp - 0x1c]
push eax
push edx
call fcn.0056ca74
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0056ca2e
add esp, 0x14
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.00401070
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x14
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x13
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x11
call fcn.005886c0
jmp 0x54385d
mov eax, dword [ebx + 0x2e4]
push edi
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
call fcn.00402600
mov al, byte [ebp + 0x13]
mov byte [ebp - 4], 0x17
test al, al
mov ebx, 0x66318c
jne 0x5436e5
mov ebx, 0x6570b8
mov eax, dword [ebp - 0x4c]
cmp eax, edi
mov esi, eax
jne 0x5436f1
lea esi, [ebp - 0x48]
mov eax, dword [ebp - 0x64]
cmp eax, edi
jne 0x5436fb
lea eax, [ebp - 0x60]
mov ecx, 0x6399cc
test ecx, ecx
je 0x543851
cmp eax, edi
je 0x543851
cmp ebx, edi
je 0x543851
cmp esi, edi
je 0x543851
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
call fcn.00402e10
push ebx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x18
call fcn.004039b0
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
call fcn.004039b0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1a
call fcn.00401070
push 0x6399cc
lea ecx, [ebp - 0xac]
call fcn.004039e0
mov esi, dword [ebp - 0xa4]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x1b
call fcn.00403a60
push eax
call fcn.0056ca2e
add esp, 4
lea ecx, [ebp - 0xa0]
mov ebx, eax
call fcn.00403a60
push eax
call fcn.0056ca2e
mov dword [ebp + 0x10], ebx
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x40]
add ebx, esi
call fcn.00403a60
push eax
call fcn.0056ca2e
mov edx, dword [ebp + 0x10]
add ebx, edx
add eax, ebx
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x543818
lea ecx, [ebp - 0x88]
call fcn.00403a60
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x40]
call fcn.00403a60
push eax
lea ecx, [ebp - 0xac]
call fcn.00403a60
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0056ca74
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056ca2e
add esp, 0x18
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x1a
call fcn.00401070
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x11
call fcn.00401070
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.005886c0
mov edi, dword [ebp - 0x24]
cmp dword [edi + 0x44], 4
jne 0x54399a
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x54389a
lea eax, [ebp - 0x18]
push 0x2e
push eax
call fcn.0056cc8e
add esp, 8
cmp eax, ebx
je 0x543906
push str..flv
push eax
call fcn.0056eb4c
add esp, 8
test eax, eax
je 0x54399c
mov eax, str..flv
test eax, eax
je 0x54399c
push eax
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x54399c
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x5438f1
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x5438f3
xor esi, esi
push str..flv
call fcn.0056ca2e
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
jmp 0x543947
mov edx, str..flv
test edx, edx
je 0x54399c
push edx
call fcn.0056ca2e
add esp, 4
test eax, eax
je 0x54399c
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x543934
push eax
call fcn.0056ca2e
add esp, 4
mov esi, eax
jmp 0x543936
xor esi, esi
push str..flv
call fcn.0056ca2e
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x54399c
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x543973
push eax
push esi
call fcn.0056ca09
push str..flv
push esi
call fcn.0056c9df
add esp, 0x10
jmp 0x543981
push str..flv
push esi
call fcn.0056ca09
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056ca2e
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x54399c
xor ebx, ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x8c], ebx
mov word [ebp - 0x90], bx
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x1c
cmp esi, ebx
je 0x543a36
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x5439c4
lea eax, [ebp - 0x18]
push 0x2e
push eax
call fcn.0056cc8e
mov ecx, dword [0x65ec1c]
add esp, 8
mov dword [ebp + 0x10], ecx
cmp eax, ebx
mov byte [ebp - 4], 0x1d
je 0x5439ec
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.00588870
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0x94]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0047c720
test al, al
jne 0x543a1a
lea edx, [ebp - 0x94]
push edx
call fcn.00430400
add esp, 4
jmp 0x543a28
mov eax, dword [ebp - 0xb0]
mov ecx, edi
push eax
call fcn.00539d50
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1c
call fcn.005886c0
jmp 0x543a45
lea ecx, [ebp - 0x94]
push ecx
call fcn.00430400
add esp, 4
mov eax, dword [ebp - 0x94]
cmp eax, ebx
jne 0x543a55
lea eax, [ebp - 0x90]
push eax
call fcn.0056ca2e
mov ebx, eax
mov esi, 0x103
sub esi, ebx
add esp, 4
cmp esi, 0x100
jbe 0x543a74
mov esi, pe_nt_image_headers32
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x543a7e
lea eax, [ebp - 0x18]
push eax
call fcn.0056ca2e
add esp, 4
cmp eax, esi
jbe 0x543adb
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x543a96
mov edi, eax
jmp 0x543a9c
lea edi, [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
call fcn.0056ca2e
sub eax, esi
add esp, 4
xor ecx, ecx
lea eax, [edi + eax*2]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x38], ecx
mov word [ebp - 0x3c], cx
push eax
lea ecx, [ebp - 0x40]
call fcn.00402e10
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0x1e
call fcn.00402e10
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1c
call fcn.00401070
mov ecx, dword [ebp - 0x94]
test ecx, ecx
mov eax, ecx
jne 0x543aed
lea eax, [ebp - 0x90]
cmp word [eax + ebx*2 - 2], 0x5c
mov edi, 0x66318c
je 0x543aff
mov edi, 0x639030
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
mov esi, eax
jne 0x543b0d
lea esi, [ebp - 0x18]
cmp ecx, ebx
mov eax, ecx
jne 0x543b19
lea eax, [ebp - 0x90]
mov ecx, 0x6399cc
test ecx, ecx
je 0x543c6a
cmp eax, ebx
je 0x543c6a
cmp edi, ebx
je 0x543c6a
cmp esi, ebx
je 0x543c6a
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x6c], ebx
mov word [ebp - 0x70], bx
call fcn.00402e10
push edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], ebx
mov word [ebp - 0x48], bx
call fcn.00402e10
push esi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x3c], bx
call fcn.00402e10
mov edi, dword [ebp + 0xc]
mov byte [ebp - 4], 0x21
mov ecx, edi
call fcn.00401070
push 0x6399cc
lea ecx, [ebp - 0xa0]
call fcn.004039e0
mov esi, dword [ebp - 0x98]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x22
call fcn.00403a60
push eax
call fcn.0056ca2e
add esp, 4
lea ecx, [ebp - 0x4c]
mov ebx, eax
call fcn.00403a60
push eax
call fcn.0056ca2e
mov dword [ebp + 0x10], ebx
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x74]
add ebx, esi
call fcn.00403a60
push eax
call fcn.0056ca2e
mov edx, dword [ebp + 0x10]
add ebx, edx
add eax, ebx
lea eax, [eax + eax + 2]
push eax
call fcn.00584a5c
add esp, 8
mov dword [edi], eax
test eax, eax
je 0x543c37
lea ecx, [ebp - 0x40]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403a60
push eax
lea ecx, [ebp - 0x74]
call fcn.00403a60
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403a60
mov ecx, dword [edi]
push eax
push ecx
call fcn.0056ca74
mov edx, dword [edi]
push edx
call fcn.0056ca2e
add esp, 0x18
mov dword [edi + 8], eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x21
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x20
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1f
call fcn.00401070
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1c
call fcn.00401070
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.00401070
lea ecx, [ebp - 0x58]
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