Function at 0x540c60
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ad1e8
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 0x540cf2
push esi
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402610
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.00540c30
jmp 0x541fb1
mov eax, dword [0x65ca8c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebx + 0x28]
push 0x638c34
push ecx
mov byte [ebp - 4], 3
call fcn.0056ab30
add esp, 8
test eax, eax
je 0x541035
mov edx, dword [ebx + 0x28]
push 0x3d
push edx
call fcn.0056aa30
mov edi, eax
mov eax, dword [ebx + 0x28]
push 0x3f
push eax
mov dword [ebp - 0x7c], edi
call fcn.0056aa30
mov ecx, dword [ebx + 0x28]
mov esi, eax
push 0x2f
push ecx
mov dword [ebp - 0xb4], esi
call fcn.0056aa30
add esp, 0x18
cmp edi, esi
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x1d], 0
jbe 0x540f09
cmp edi, eax
jbe 0x540f09
lea edx, [edi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x540f3c
push edx
lea ecx, [ebp - 0x28]
call fcn.00586cbc
mov edx, dword [ebp - 0x28]
push 0x2e
push edx
call fcn.0056aa30
add esp, 8
mov dword [ebp - 0x30], eax
test eax, eax
je 0x540f09
cmp eax, dword [ebp - 0x28]
je 0x540f09
mov eax, dword [0x65ca8c]
mov byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
mov ecx, dword [ebx + 0x28]
lea edx, [ebp - 0x34]
push ecx
push 0x636fa0
push edx
mov byte [ebp - 4], 4
call fcn.0057f8fb
mov eax, dword [ebp - 0x34]
add esp, 0xc
push 0x3f
push eax
call fcn.0056aa70
add esp, 8
test eax, eax
je 0x540dd9
mov byte [eax], 0
mov ecx, dword [ebp - 0x34]
push 0x2e
push ecx
call fcn.0056aa30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x540e57
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x540e57
mov edx, dword [0x65ca8c]
mov dword [ebp - 0x78], edx
push ebx
lea eax, [ebp - 0x78]
push 0x636fa0
push eax
mov byte [ebp - 4], 5
call fcn.0057f8fb
add esp, 0xc
lea ecx, [ebp - 0x78]
call fcn.00586fef
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.0056ab30
add esp, 8
test eax, eax
je 0x540e4b
push 0x2a
push ebx
call fcn.0056aa70
add esp, 8
test eax, eax
jne 0x540e4b
mov byte [ebp - 0x29], 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 4
call fcn.00586b33
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 0x540e8b
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x540edb
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x540edb
test esi, esi
je 0x540edb
mov al, byte [ebp - 0x29]
test al, al
je 0x540ea6
push ebx
push esi
mov ecx, 0x661430
call fcn.00420a70
test eax, eax
jne 0x540ee2
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x30]
push eax
call fcn.00586ba1
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 6
push ecx
push esi
mov ecx, 0x661430
call fcn.00420a70
test eax, eax
je 0x540ecd
mov byte [ebp - 0x1d], 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.00586b33
jmp 0x540ef2
mov al, byte [ebp - 0x29]
test al, al
je 0x540eee
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x28]
push edx
call fcn.00586c6c
mov byte [ebp - 0x1d], 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00586b33
mov al, byte [ebp - 0x1d]
test al, al
jne 0x540fc3
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x68]
cmp eax, ecx
jbe 0x540f7f
cmp eax, edx
jbe 0x540f7f
lea edx, [eax + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x540f5c
push edx
lea ecx, [ebp - 0x28]
call fcn.00586cbc
jmp 0x540fc3
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x28]
push eax
call fcn.00586cbc
mov ecx, dword [ebp - 0x28]
push 0x3f
push ecx
call fcn.0056aa70
add esp, 8
test eax, eax
je 0x540fc3
jmp 0x540fc0
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
mov eax, dword [edx + 0x28]
push eax
call fcn.00586cbc
mov ecx, dword [ebp - 0x28]
push 0x3f
push ecx
call fcn.0056aa70
add esp, 8
test eax, eax
je 0x540fc3
jmp 0x540fc0
test eax, eax
jne 0x540f9f
test edx, edx
je 0x540f9f
inc edx
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x540f9f
push edx
lea ecx, [ebp - 0x28]
call fcn.00586cbc
jmp 0x540fc3
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
mov eax, dword [edx + 0x28]
push eax
call fcn.00586cbc
mov ecx, dword [ebp - 0x28]
push 0x3f
push ecx
call fcn.0056aa70
add esp, 8
test eax, eax
je 0x540fc3
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 0x5410a4
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5410a4
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 0x5410a4
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
add esp, 4
mov dword [ebp - 0x58], eax
test eax, eax
je 0x5410ab
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 0x5410a4
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 0x541095
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x541095
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 0x541095
lea edx, [eax + eax + 2]
push edx
call fcn.00582ecc
add esp, 4
mov dword [ebp - 0x58], eax
test eax, eax
je 0x541095
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.00586cbc
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x5410ae
lea eax, [ebp - 0x54]
push eax
call fcn.0056aeae
add esp, 4
cmp eax, 0x7d0
jae 0x5410e1
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.00540c30
jmp 0x5410e4
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x5410ee
lea eax, [ebp - 0x54]
push 0x3d
push eax
call fcn.0056b10e
mov edi, eax
mov eax, dword [ebp - 0x58]
add esp, 8
test eax, eax
jne 0x541105
lea eax, [ebp - 0x54]
push 0x3f
push eax
call fcn.0056b10e
mov esi, eax
mov eax, dword [ebp - 0x58]
add esp, 8
test eax, eax
jne 0x54111c
lea eax, [ebp - 0x54]
push 0x2f
push eax
call fcn.0056b10e
add esp, 8
cmp esi, edi
jae 0x541137
cmp edi, eax
jbe 0x541135
add edi, 2
push edi
jmp 0x54114b
cmp esi, edi
jbe 0x541143
cmp esi, eax
jbe 0x541143
add esi, 2
push esi
jmp 0x54114b
test eax, eax
je 0x541153
add eax, 2
push eax
lea ecx, [ebp - 0x58]
call fcn.00402e20
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x54115d
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402e20
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x541170
lea eax, [ebp - 0x54]
push eax
call fcn.0056aeae
add esp, 4
test eax, eax
jne 0x541404
mov edx, dword [ebx + 0x24]
mov esi, 1
test edx, edx
je 0x5412ad
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, esi
jbe 0x5412ad
mov eax, dword [0x65ca8c]
mov dword [ebp - 0x34], eax
push edx
lea ecx, [ebp - 0x34]
push 0x636fa0
push ecx
mov byte [ebp - 4], 7
call fcn.0057f8fb
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 0x5411e6
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x34]
call fcn.00587013
mov edx, dword [ebp - 0x34]
push 0x2f
push edx
call fcn.0056aa30
add esp, 8
test eax, eax
je 0x541299
inc eax
push 0
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402610
mov edx, 0x63dc40
test edx, edx
je 0x541297
push edx
call fcn.0056aeae
add esp, 4
test eax, eax
je 0x541297
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x541233
push eax
call fcn.0056aeae
add esp, 4
mov esi, eax
jmp 0x541235
xor esi, esi
push 0x63dc40
call fcn.0056aeae
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
mov esi, eax
add esp, 8
test esi, esi
je 0x541297
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x541272
push eax
push esi
call fcn.0056ae89
push 0x63dc40
push esi
call fcn.0056ae5f
add esp, 0x10
jmp 0x541280
push 0x63dc40
push esi
call fcn.0056ae89
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056aeae
add esp, 4
mov dword [ebp - 0x14], eax
xor esi, esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00586b33
test esi, esi
je 0x5413e0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x5413e0
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.00402610
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 8
cmp eax, edi
jne 0x5412df
lea eax, [ebp - 0x60]
push 0x2e
push eax
call fcn.0056b10e
add esp, 8
cmp eax, edi
je 0x5413d4
mov word [eax], di
mov esi, dword [ebp - 0x64]
cmp esi, edi
je 0x541323
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54131c
cmp word [esi], 0x2e
jne 0x541317
mov word [esi], 0x5f
add esi, 2
jmp 0x541308
mov eax, dword [ebp - 0x64]
cmp eax, edi
jne 0x541326
lea eax, [ebp - 0x60]
mov edx, str._s_default.html
test edx, edx
je 0x5413d4
cmp eax, edi
je 0x5413d4
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
call fcn.00402e20
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.004039f0
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call fcn.00403a70
push eax
call fcn.0056aeae
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x5413bd
lea ecx, [ebp - 0x4c]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x40]
call fcn.00403a70
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0056aef4
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056aeae
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 0x5413ea
lea eax, [ebp - 0x18]
push eax
call fcn.0056aeae
add esp, 4
test eax, eax
jne 0x541404
push str.default.html
lea ecx, [ebp - 0x1c]
call fcn.00402e20
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x541430
push eax
mov esi, eax
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54142d
cmp word [esi], 0x3a
jne 0x541428
mov word [esi], 0x2d
add esi, 2
jmp 0x541419
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x541464
test eax, eax
je 0x541584
push eax
mov esi, eax
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541461
cmp word [esi], 0x2a
jne 0x54145c
mov word [esi], 0x2d
add esi, 2
jmp 0x54144d
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x541584
push eax
mov esi, eax
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54148e
cmp word [esi], 0x3f
jne 0x541489
mov word [esi], 0x2d
add esi, 2
jmp 0x54147a
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x541584
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5414b9
cmp word [esi], 0x7c
jne 0x5414b4
mov word [esi], 0x2d
add esi, 2
jmp 0x5414a5
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x541584
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5414e4
cmp word [esi], 0x3c
jne 0x5414df
mov word [esi], 0x2d
add esi, 2
jmp 0x5414d0
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x541584
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54150f
cmp word [esi], 0x3e
jne 0x54150a
mov word [esi], 0x2d
add esi, 2
jmp 0x5414fb
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x541584
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541536
cmp word [esi], 0x22
jne 0x541531
mov word [esi], 0x2d
add esi, 2
jmp 0x541522
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x541584
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54155d
cmp word [esi], 0x25
jne 0x541558
mov word [esi], 0x2d
add esi, 2
jmp 0x541549
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x541584
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541584
cmp word [esi], 0x5c
jne 0x54157f
mov word [esi], 0x2d
add esi, 2
jmp 0x541570
mov edi, dword [ebp - 0x24]
push 0x3f
mov eax, dword [edi + 0x28]
push eax
call fcn.0056aa70
mov ecx, dword [edi + 0x28]
push 0x2e
push ecx
mov esi, eax
call fcn.0056aa70
mov ebx, eax
mov eax, dword [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x7c], ebx
test eax, eax
jne 0x5415b1
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.00402e20
mov eax, dword [ebp - 0x74]
mov byte [ebp - 4], 0xb
cmp eax, edi
jne 0x5415d4
lea eax, [ebp - 0x70]
push 0x2e
push eax
call fcn.0056b10e
mov edi, eax
add esp, 8
test edi, edi
je 0x5415fc
mov word [edi], 0
add edi, 2
push edi
call fcn.0056aeae
add esp, 4
test eax, eax
jne 0x5415fc
xor edi, edi
test esi, esi
je 0x541bfa
test ebx, ebx
je 0x541b6a
cmp ebx, esi
ja 0x541b6a
inc ebx
cmp ebx, esi
je 0x541b67
test edi, edi
jne 0x541b67
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 0x5419b2
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.00582ecc
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x68], ebx
je 0x541bfa
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.0056b010
push 0x2e
push ebx
call fcn.0056aa30
add esp, 0x14
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x30], eax
push 0
push ebx
call fcn.00402610
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x5419a9
mov ebx, eax
push str..asp
push ebx
call fcn.00573ec0
add esp, 8
test eax, eax
je 0x5416f0
push str..jsp
push ebx
call fcn.00573ec0
add esp, 8
test eax, eax
je 0x5416f0
push str..cgi
push ebx
call fcn.00573ec0
add esp, 8
test eax, eax
je 0x5416f0
push str..php
push ebx
call fcn.00573ec0
add esp, 8
test eax, eax
jne 0x5419a9
mov edx, dword [edi + 0x28]
push 0x3d
push edx
call fcn.0056aa30
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 0x5419a9
cmp byte [ebx + ecx - 1], 0x2e
je 0x5419a9
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 0x541738
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x30]
mov byte [eax], 0
mov ecx, dword [0x65ca8c]
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.0057f8fb
mov ecx, dword [ebp - 0x30]
add esp, 0x14
push 0
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00402610
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x54179d
push eax
mov esi, eax
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54179a
cmp word [esi], 0x3a
jne 0x541795
mov word [esi], 0x2d
add esi, 2
jmp 0x541786
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5417d1
test eax, eax
je 0x54199d
push eax
mov esi, eax
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5417ce
cmp word [esi], 0x2a
jne 0x5417c9
mov word [esi], 0x2d
add esi, 2
jmp 0x5417ba
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x54199d
push eax
mov esi, eax
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5417fb
cmp word [esi], 0x3f
jne 0x5417f6
mov word [esi], 0x2d
add esi, 2
jmp 0x5417e7
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541826
cmp word [esi], 0x7c
jne 0x541821
mov word [esi], 0x2d
add esi, 2
jmp 0x541812
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541851
cmp word [esi], 0x3c
jne 0x54184c
mov word [esi], 0x2d
add esi, 2
jmp 0x54183d
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54187c
cmp word [esi], 0x3e
jne 0x541877
mov word [esi], 0x2d
add esi, 2
jmp 0x541868
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5418a7
cmp word [esi], 0x22
jne 0x5418a2
mov word [esi], 0x2d
add esi, 2
jmp 0x541893
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5418d2
cmp word [esi], 0x25
jne 0x5418cd
mov word [esi], 0x2d
add esi, 2
jmp 0x5418be
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5418fd
cmp word [esi], 0x5c
jne 0x5418f8
mov word [esi], 0x2d
add esi, 2
jmp 0x5418e9
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541928
cmp word [esi], 0x2f
jne 0x541923
mov word [esi], 0x5f
add esi, 2
jmp 0x541914
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54194f
cmp word [esi], 0x27
jne 0x54194a
mov word [esi], 0x5f
add esi, 2
jmp 0x54193b
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x541976
cmp word [esi], 0x2c
jne 0x541971
mov word [esi], 0x5f
add esi, 2
jmp 0x541962
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x54199d
push esi
call fcn.0056aeae
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x54199d
cmp word [esi], 0x3b
jne 0x541998
mov word [esi], 0x5f
add esi, 2
jmp 0x541989
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xb
call fcn.00586b33
mov edx, dword [ebp - 0x68]
push edx
jmp 0x541bf2
cmp ebx, esi
jae 0x5419d0
push 0x2e
push ebx
call fcn.0056aa70
add esp, 8
test eax, eax
je 0x5419d0
lea ecx, [eax + 1]
cmp ecx, esi
jae 0x5419d0
mov ebx, eax
jmp 0x5419b2
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x541b56
push edi
call fcn.00582ecc
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.0056b010
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.00402610
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0xd
cmp eax, edi
jne 0x541a32
lea eax, [ebp - 0x60]
mov esi, dword [ebp - 0x74]
mov dword [ebp + 0x10], eax
cmp esi, edi
jne 0x541a3f
lea esi, [ebp - 0x70]
mov ecx, str._s._s
test ecx, ecx
je 0x541b3c
cmp esi, edi
je 0x541b3c
cmp dword [ebp + 0x10], edi
je 0x541b3c
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.00402610
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xe
call fcn.004039c0
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x40]
push edx
mov byte [ebp - 4], 0xf
call fcn.004039c0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x10
call fcn.00401070
mov esi, dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
call fcn.00403a70
push eax
call fcn.0056aeae
add esp, 4
lea ecx, [ebp - 0x88]
mov ebx, eax
call fcn.00403a70
push eax
call fcn.0056aeae
add esi, ebx
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x541b12
lea ecx, [ebp - 0x40]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x88]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403a70
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0056aef4
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056aeae
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.00582ef5
add esp, 4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.00401070
jmp 0x541bfa
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00402e20
jmp 0x541bfa
mov ebx, dword [ebp - 0x7c]
test edi, edi
jne 0x541bfa
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 0x541bfa
cmp esi, edx
jbe 0x541bfa
inc ebx
cmp ebx, esi
je 0x541bfa
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.00582ecc
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x541bfa
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.0056b010
add esp, 0xc
lea ecx, [ebp - 0x1c]
push 0
push ebx
call fcn.00402610
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.00540c30
push ebx
call fcn.00582ef5
add esp, 4
mov ebx, dword [ebp - 0x24]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0x2e0]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x541f99
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.00402e20
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 0x11
cmp eax, edi
jne 0x541c44
lea eax, [ebp - 0x60]
push 0x2e
push eax
call fcn.0056b10e
mov esi, eax
add esp, 8
cmp esi, edi
je 0x541de6
mov al, byte [ebp + 0x13]
test al, al
jne 0x541c63
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.00586bf3
mov eax, dword [ebx + 0x2e0]
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.0056cc60
add esp, 0xc
test eax, eax
je 0x541dd5
mov word [esi], di
mov eax, dword [ebx + 0x2e0]
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.00402610
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x13
cmp eax, edi
mov ebx, eax
jne 0x541cbd
lea ebx, [ebp - 0x3c]
mov esi, dword [ebp - 0x64]
cmp esi, edi
jne 0x541cc7
lea esi, [ebp - 0x60]
mov eax, 0x637020
test eax, eax
je 0x541dc9
cmp esi, edi
je 0x541dc9
cmp ebx, edi
je 0x541dc9
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.00402610
push esi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x14
call fcn.004039c0
push ebx
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x15
call fcn.004039c0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x16
call fcn.00401070
mov esi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00403a70
push eax
call fcn.0056aeae
add esp, 4
lea ecx, [ebp - 0xac]
mov ebx, eax
call fcn.00403a70
push eax
call fcn.0056aeae
add esi, ebx
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
call fcn.00582ecc
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x541d9f
lea ecx, [ebp - 0x88]
call fcn.00403a70
push eax
lea ecx, [ebp - 0xac]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403a70
mov edx, dword [ebp - 0x1c]
push eax
push edx
call fcn.0056aef4
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0056aeae
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.00586b33
jmp 0x541f8d
mov eax, dword [ebx + 0x2e0]
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.00402610
mov al, byte [ebp + 0x13]
mov byte [ebp - 4], 0x17
test al, al
mov ebx, 0x660ffc
jne 0x541e15
mov ebx, 0x654f48
mov eax, dword [ebp - 0x4c]
cmp eax, edi
mov esi, eax
jne 0x541e21
lea esi, [ebp - 0x48]
mov eax, dword [ebp - 0x64]
cmp eax, edi
jne 0x541e2b
lea eax, [ebp - 0x60]
mov ecx, 0x6379c4
test ecx, ecx
je 0x541f81
cmp eax, edi
je 0x541f81
cmp ebx, edi
je 0x541f81
cmp esi, edi
je 0x541f81
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
call fcn.00402e20
push ebx
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x18
call fcn.004039c0
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
call fcn.004039c0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1a
call fcn.00401070
push 0x6379c4
lea ecx, [ebp - 0xac]
call fcn.004039f0
mov esi, dword [ebp - 0xa4]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x1b
call fcn.00403a70
push eax
call fcn.0056aeae
add esp, 4
lea ecx, [ebp - 0xa0]
mov ebx, eax
call fcn.00403a70
push eax
call fcn.0056aeae
mov dword [ebp + 0x10], ebx
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x40]
add ebx, esi
call fcn.00403a70
push eax
call fcn.0056aeae
mov edx, dword [ebp + 0x10]
add ebx, edx
add eax, ebx
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
add esp, 8
cmp eax, edi
mov dword [ebp - 0x1c], eax
je 0x541f48
lea ecx, [ebp - 0x88]
call fcn.00403a70
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x40]
call fcn.00403a70
push eax
lea ecx, [ebp - 0xac]
call fcn.00403a70
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call fcn.0056aef4
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0056aeae
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.00586b33
mov edi, dword [ebp - 0x24]
cmp dword [edi + 0x44], 4
jne 0x5420ca
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x541fca
lea eax, [ebp - 0x18]
push 0x2e
push eax
call fcn.0056b10e
add esp, 8
cmp eax, ebx
je 0x542036
push str..flv
push eax
call fcn.0056cfcc
add esp, 8
test eax, eax
je 0x5420cc
mov eax, str..flv
test eax, eax
je 0x5420cc
push eax
call fcn.0056aeae
add esp, 4
test eax, eax
je 0x5420cc
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x542021
push eax
call fcn.0056aeae
add esp, 4
mov esi, eax
jmp 0x542023
xor esi, esi
push str..flv
call fcn.0056aeae
add eax, esi
lea ecx, [eax + eax + 2]
push ecx
jmp 0x542077
mov edx, str..flv
test edx, edx
je 0x5420cc
push edx
call fcn.0056aeae
add esp, 4
test eax, eax
je 0x5420cc
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x542064
push eax
call fcn.0056aeae
add esp, 4
mov esi, eax
jmp 0x542066
xor esi, esi
push str..flv
call fcn.0056aeae
add eax, esi
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x5420cc
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x5420a3
push eax
push esi
call fcn.0056ae89
push str..flv
push esi
call fcn.0056ae5f
add esp, 0x10
jmp 0x5420b1
push str..flv
push esi
call fcn.0056ae89
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00401070
push esi
mov dword [ebp - 0x1c], esi
call fcn.0056aeae
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x5420cc
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 0x542166
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
jne 0x5420f4
lea eax, [ebp - 0x18]
push 0x2e
push eax
call fcn.0056b10e
mov ecx, dword [0x65ca8c]
add esp, 8
mov dword [ebp + 0x10], ecx
cmp eax, ebx
mov byte [ebp - 4], 0x1d
je 0x54211c
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.00586ce3
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0x94]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0047b940
test al, al
jne 0x54214a
lea edx, [ebp - 0x94]
push edx
call fcn.004302c0
add esp, 4
jmp 0x542158
mov eax, dword [ebp - 0xb0]
mov ecx, edi
push eax
call fcn.00538480
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1c
call fcn.00586b33
jmp 0x542175
lea ecx, [ebp - 0x94]
push ecx
call fcn.004302c0
add esp, 4
mov eax, dword [ebp - 0x94]
cmp eax, ebx
jne 0x542185
lea eax, [ebp - 0x90]
push eax
call fcn.0056aeae
mov ebx, eax
mov esi, 0x103
sub esi, ebx
add esp, 4
cmp esi, 0x100
jbe 0x5421a4
mov esi, pe_nt_image_headers32
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x5421ae
lea eax, [ebp - 0x18]
push eax
call fcn.0056aeae
add esp, 4
cmp eax, esi
jbe 0x54220b
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x5421c6
mov edi, eax
jmp 0x5421cc
lea edi, [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
call fcn.0056aeae
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.00402e20
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0x1e
call fcn.00402e20
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x1c
call fcn.00401070
mov ecx, dword [ebp - 0x94]
test ecx, ecx
mov eax, ecx
jne 0x54221d
lea eax, [ebp - 0x90]
cmp word [eax + ebx*2 - 2], 0x5c
mov edi, 0x660ffc
je 0x54222f
mov edi, 0x637028
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
cmp eax, ebx
mov esi, eax
jne 0x54223d
lea esi, [ebp - 0x18]
cmp ecx, ebx
mov eax, ecx
jne 0x542249
lea eax, [ebp - 0x90]
mov ecx, 0x6379c4
test ecx, ecx
je 0x54239a
cmp eax, ebx
je 0x54239a
cmp edi, ebx
je 0x54239a
cmp esi, ebx
je 0x54239a
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x6c], ebx
mov word [ebp - 0x70], bx
call fcn.00402e20
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.00402e20
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.00402e20
mov edi, dword [ebp + 0xc]
mov byte [ebp - 4], 0x21
mov ecx, edi
call fcn.00401070
push 0x6379c4
lea ecx, [ebp - 0xa0]
call fcn.004039f0
mov esi, dword [ebp - 0x98]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x22
call fcn.00403a70
push eax
call fcn.0056aeae
add esp, 4
lea ecx, [ebp - 0x4c]
mov ebx, eax
call fcn.00403a70
push eax
call fcn.0056aeae
mov dword [ebp + 0x10], ebx
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x74]
add ebx, esi
call fcn.00403a70
push eax
call fcn.0056aeae
mov edx, dword [ebp + 0x10]
add ebx, edx
add eax, ebx
lea eax, [eax + eax + 2]
push eax
call fcn.00582ecc
add esp, 8
mov dword [edi], eax
test eax, eax
je 0x542367
lea ecx, [ebp - 0x40]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403a70
push eax
lea ecx, [ebp - 0x74]
call fcn.00403a70
push eax
lea ecx, [ebp - 0xa0]
call fcn.00403a70
mov ecx, dword [edi]
push eax
push ecx
call fcn.0056aef4
mov edx, dword [edi]
push edx
call fcn.0056aeae
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