Function at 0x4c7a64
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4c899d
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
xor ecx, ecx
push ebp
push 0x4c8974
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov dword [ebp - 0x28], eax
push 0
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004e749c
test al, al
je 0x4c7ac8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004bf0a8
test al, al
jne 0x4c7af2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004c7850
mov eax, 0x5c7dac
mov edx, 3
call fcn.004bd478
test al, al
je 0x4c7b20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
cmp byte [0x5c7dcc], 0xff
je 0x4c7b3b
cmp byte [0x5c7dcd], 0xff
je 0x4c7b3b
cmp byte [0x5c7dce], 0xff
jne 0x4c7b48
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov al, byte [0x5c7dac]
mov byte [ebp - 0xa], al
mov al, byte [0x5c7dad]
mov byte [ebp - 0xb], al
mov al, byte [0x5c7dae]
mov byte [ebp - 0xc], al
mov al, byte [0x5c7daf]
mov byte [ebp - 0xd], al
mov al, byte [0x5c7db0]
mov byte [ebp - 0xe], al
mov al, byte [0x5c7db1]
mov byte [ebp - 0xf], al
mov al, byte [0x5c7db2]
mov byte [ebp - 0x10], al
mov eax, 0x5c7dad
mov ebx, dword [eax]
mov eax, 0x5c7dcd
mov esi, dword [eax]
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
call fcn.004b8304
test al, al
je 0x4c7bf3
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
add dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
add dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c7bf3
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c7bf3
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c7bf3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov al, byte [ebp - 0xa]
sub al, 0x33
je 0x4c7c2b
add al, 0x93
sub al, 4
jb 0x4c7c0a
add al, 0xec
sub al, 2
jae 0x4c7c8e
cmp esi, 0x1010101
jne 0x4c7c20
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
jne 0x4c7c24
xor eax, eax
jmp 0x4c7c26
mov al, 1
mov byte [ebp - 9], al
jmp 0x4c7c8e
mov eax, 0x5c7dcd
cmp word [eax], 0
jne 0x4c7c65
mov eax, 0x5c7dad
movzx eax, word [eax]
cmp eax, 0xc3c0
jne 0x4c7c65
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
add edx, 3
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c89b8
call fcn.00403d9c
je 0x4c7c89
mov eax, 0x5c7dcd
cmp word [eax], 0
jne 0x4c7c85
mov eax, 0x5c7dad
movzx eax, word [eax]
cmp eax, 0xc2c0
jne 0x4c7c85
cmp byte [ebp - 0xd], 0
jne 0x4c7c89
xor eax, eax
jmp 0x4c7c8b
mov al, 1
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
jne 0x4c7c9d
cmp byte [0x5c7dcf], 0xff
jne 0x4c7caa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
cmp byte [0x5c3be4], 0
je 0x4c7d53
mov ebx, dword [ebp - 8]
xor esi, esi
jmp 0x4c7d3c
lea ecx, [ebp - 0x2c]
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c]
call fcn.00403c8c
cmp eax, 2
jne 0x4c7d53
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004bf0a8
test al, al
je 0x4c7d53
lea ecx, [ebp - 0x30]
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x4c89c4
call fcn.00403cd8
mov eax, dword [ebp - 0x2c]
call fcn.004074cc
mov edx, eax
and dl, 0xf8
cmp dl, 0x50
jne 0x4c7d23
inc ebx
inc esi
jmp 0x4c7d3c
cmp al, 0x8b
jne 0x4c7d53
test esi, esi
je 0x4c7d53
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov eax, dword [eax + 0x10]
sub eax, 9
cmp ebx, eax
jl 0x4c7cbe
cmp byte [ebp - 9], 0
je 0x4c7d66
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
cmp byte [0x5c3be4], 0
je 0x4c80f6
mov al, byte [ebp - 0xa]
mov dl, byte [ebp - 0xb]
cmp byte [ebp - 0xa], 0x66
jne 0x4c7d85
mov al, byte [ebp - 0xb]
mov dl, byte [ebp - 0xc]
mov ecx, eax
and cl, 0xf8
cmp cl, 0x50
je 0x4c7e24
cmp al, 0x60
je 0x4c7e24
cmp al, 0x61
je 0x4c7e24
cmp al, 0x68
je 0x4c7e24
cmp al, 0x6a
je 0x4c7e24
cmp al, 0x33
jne 0x4c7db4
cmp dl, 0xc0
je 0x4c7e24
cmp al, 0x33
jne 0x4c7dbd
cmp dl, 0xd2
je 0x4c7e24
cmp al, 0x33
jne 0x4c7dc6
cmp dl, 0xdb
je 0x4c7e24
cmp al, 0x8a
je 0x4c7e24
cmp al, 0x8b
je 0x4c7e24
cmp al, 0xb8
je 0x4c7e24
cmp al, 0xb9
je 0x4c7e24
cmp al, 0xba
je 0x4c7e24
cmp al, 0xbb
je 0x4c7e24
cmp al, 0x81
je 0x4c7e24
cmp al, 0x83
je 0x4c7e24
cmp al, 0xff
jne 0x4c7def
cmp dl, 5
je 0x4c7e24
cmp al, 0xff
jne 0x4c7df8
cmp dl, 0x15
je 0x4c7e24
cmp al, 0xff
jne 0x4c7e01
cmp dl, 0x30
je 0x4c7e24
cmp al, 0xff
jne 0x4c7e0a
cmp dl, 0x35
je 0x4c7e24
cmp al, 0xff
jne 0x4c7e13
cmp dl, 0x71
je 0x4c7e24
cmp al, 0xff
jne 0x4c80f6
cmp dl, 0x75
jne 0x4c80f6
mov edx, eax
and dl, 0xf8
cmp dl, 0x50
je 0x4c7e36
cmp al, 0x68
je 0x4c7e36
cmp al, 0x6a
jne 0x4c7e5f
push ebp
call fcn.004c79c8
pop ecx
test al, al
jne 0x4c7e5f
mov edx, 0x10
mov eax, dword [ebp - 0x14]
call fcn.004b8674
test al, al
je 0x4c7e5f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov ebx, dword [ebp - 8]
inc ebx
xor eax, eax
xor esi, esi
jmp 0x4c7ea6
lea ecx, [ebp - 0x2c]
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c]
call fcn.004b84c4
test al, al
jne 0x4c7e9e
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004bf0a8
test al, al
je 0x4c7e9e
xor eax, eax
jmp 0x4c7ea0
mov al, 1
test al, al
jne 0x4c7ebd
inc ebx
inc esi
test al, al
jne 0x4c7ebd
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x584]
mov edx, dword [edx + 0x10]
sub edx, 9
cmp ebx, edx
jl 0x4c7e69
test al, al
je 0x4c80f6
test esi, esi
jle 0x4c80f6
test esi, esi
jle 0x4c7ffd
lea ecx, [ebp - 0x2c]
mov ebx, dword [ebp - 8]
add ebx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c89d0
call fcn.00403d9c
je 0x4c7f1e
lea ecx, [ebp - 0x2c]
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c89dc
call fcn.00403d9c
jne 0x4c7f24
dec esi
jmp 0x4c7ff5
cmp esi, 2
jle 0x4c7f43
mov edx, dword [ebp - 8]
add edx, esi
dec edx
mov eax, dword [ebp - 4]
call fcn.004e6cf0
test al, al
je 0x4c7f43
sub esi, 2
jmp 0x4c7ff5
cmp esi, 3
jle 0x4c7f7f
mov ebx, dword [ebp - 8]
add ebx, esi
sub ebx, 2
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e681c
test al, al
jne 0x4c7f7a
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e7094
test al, al
jne 0x4c7f7a
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e7114
test al, al
je 0x4c7f7f
sub esi, 3
jmp 0x4c7ff5
cmp esi, 4
jle 0x4c7f9d
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 3
mov eax, dword [ebp - 4]
call fcn.004e6f40
test al, al
je 0x4c7f9d
sub esi, 4
jmp 0x4c7ff5
cmp esi, 5
jle 0x4c7fbb
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [ebp - 4]
call fcn.004e6e3c
test al, al
je 0x4c7fbb
sub esi, 5
jmp 0x4c7ff5
cmp esi, 6
jle 0x4c7fd9
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 5
mov eax, dword [ebp - 4]
call fcn.004e6948
test al, al
je 0x4c7fd9
sub esi, 6
jmp 0x4c7ff5
cmp esi, 7
jle 0x4c7ffd
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 6
mov eax, dword [ebp - 4]
call fcn.004e6ad8
test al, al
je 0x4c7ffd
sub esi, 7
test esi, esi
jg 0x4c7ed5
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
add edx, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c89e8
call fcn.00403d9c
jne 0x4c802b
mov byte [ebp - 9], 1
jmp 0x4c80f6
cmp esi, 3
jle 0x4c8061
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c89f4
call fcn.00403d9c
jne 0x4c8061
mov byte [ebp - 9], 1
jmp 0x4c80f6
cmp esi, 2
jle 0x4c8092
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
add edx, esi
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c8a00
call fcn.00403d9c
jne 0x4c8092
mov byte [ebp - 9], 1
jmp 0x4c80f6
cmp esi, 5
jle 0x4c80c5
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c8a0c
call fcn.00403d9c
jne 0x4c80c5
mov byte [ebp - 9], 1
jmp 0x4c80f6
cmp esi, 5
jle 0x4c80f6
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x584]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov edx, 0x4c8a18
call fcn.00403d9c
jne 0x4c80f6
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x4c8109
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
xor eax, eax
mov al, byte [ebp - 0xa]
cmp eax, 0x83
jg 0x4c8164
je 0x4c85e4
cmp eax, 0x64
jg 0x4c8144
je 0x4c84cb
sub eax, 0x53
je 0x4c8334
sub eax, 2
je 0x4c81b9
dec eax
je 0x4c8438
jmp 0x4c896a
sub eax, 0x68
je 0x4c84e8
sub eax, 2
je 0x4c852d
sub eax, 0x17
je 0x4c859f
jmp 0x4c896a
cmp eax, 0xc8
jg 0x4c8199
je 0x4c8825
sub eax, 0x8b
je 0x4c828e
add eax, 0xffffffeb
sub eax, 4
jb 0x4c87ed
add eax, 0xffffffec
sub eax, 8
jb 0x4c8719
jmp 0x4c896a
sub eax, 0xe8
je 0x4c887e
dec eax
je 0x4c88c6
sub eax, 0x16
je 0x4c8675
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x8b
jne 0x4c81ce
cmp byte [ebp - 0xc], 0xec
jne 0x4c81ce
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x33
jne 0x4c81e3
cmp byte [ebp - 0xc], 0xc0
jne 0x4c81e3
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xb8
jne 0x4c81f2
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xb9
jne 0x4c8201
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x89
jne 0x4c8216
cmp byte [ebp - 0xc], 0xe5
jne 0x4c8216
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x8b
jne 0x4c825b
cmp byte [ebp - 0xc], 0xec
jne 0x4c825b
cmp byte [ebp - 0xd], 0x33
je 0x4c8252
cmp byte [ebp - 0xd], 0xb8
je 0x4c8252
cmp byte [ebp - 0xd], 0x51
je 0x4c8252
cmp byte [ebp - 0xd], 0x53
je 0x4c8252
cmp byte [ebp - 0xd], 0x56
je 0x4c8252
cmp byte [ebp - 0xd], 0x81
je 0x4c8252
cmp byte [ebp - 0xd], 0x83
je 0x4c8252
cmp byte [ebp - 0xd], 0x8b
jne 0x4c825b
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x8b
jne 0x4c896a
cmp byte [ebp - 0xd], 0x24
jne 0x4c896a
cmp byte [ebp - 0xc], 0x44
je 0x4c8285
cmp byte [ebp - 0xc], 0x4c
je 0x4c8285
cmp byte [ebp - 0xc], 0x54
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x44
je 0x4c82a3
cmp byte [ebp - 0xb], 0x4c
je 0x4c82a3
mov al, byte [ebp - 0xb]
and al, 0xf8
cmp al, 0x50
jne 0x4c82b2
cmp byte [ebp - 0xc], 0x24
jne 0x4c82b2
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
cmp byte [ebp - 0xb], 5
je 0x4c82f3
cmp byte [ebp - 0xb], 0xd
je 0x4c82f3
cmp byte [ebp - 0xb], 0x15
je 0x4c82f3
cmp byte [ebp - 0xb], 0x1d
je 0x4c82f3
cmp byte [ebp - 0xb], 0x25
je 0x4c82f3
cmp byte [ebp - 0xb], 0x2d
je 0x4c82f3
cmp byte [ebp - 0xb], 0x35
je 0x4c82f3
cmp byte [ebp - 0xb], 0x3d
jne 0x4c896a
cmp byte [0x5c7dd0], 0xff
je 0x4c8305
cmp byte [0x5c7dd1], 0xff
jne 0x4c8312
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dae
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c833e
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c835a
cmp byte [ebp - 0xb], 0xa1
jne 0x4c835a
mov byte [ebp - 9], 1
jmp 0x4c896a
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c8364
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c8380
cmp byte [ebp - 0xb], 0x8b
jne 0x4c8380
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x56
jne 0x4c8395
cmp byte [ebp - 0xc], 0x57
jne 0x4c8395
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x56
jne 0x4c83b0
cmp byte [ebp - 0xc], 0x8b
jne 0x4c83b0
cmp byte [ebp - 0xd], 0x74
jne 0x4c83b0
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x8b
jne 0x4c83d1
cmp byte [ebp - 0xc], 0x5c
je 0x4c83c2
cmp byte [ebp - 0xc], 0x74
jne 0x4c83d1
cmp byte [ebp - 0xd], 0x24
jne 0x4c83d1
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x55
jne 0x4c83ec
cmp byte [ebp - 0xc], 0x56
jne 0x4c83ec
cmp byte [ebp - 0xd], 0x57
jne 0x4c83ec
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x55
jne 0x4c8407
cmp byte [ebp - 0xc], 0x56
jne 0x4c8407
cmp byte [ebp - 0xd], 0x8b
jne 0x4c8407
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x55
je 0x4c8413
cmp byte [ebp - 0xb], 0x56
jne 0x4c8425
mov al, byte [ebp - 0xc]
and al, 0xf0
cmp al, 0x80
jne 0x4c8425
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xb9
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x8b
jne 0x4c8453
cmp byte [ebp - 0xc], 0x74
jne 0x4c8453
cmp byte [ebp - 0xd], 0x24
jne 0x4c8453
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x57
jne 0x4c846e
cmp byte [ebp - 0xc], 0x8b
jne 0x4c846e
cmp byte [ebp - 0xd], 0x74
jne 0x4c846e
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x57
jne 0x4c8483
cmp byte [ebp - 0xc], 0x8b
jne 0x4c8483
mov byte [ebp - 9], 1
jmp 0x4c896a
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c848d
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c84a9
cmp byte [ebp - 0xb], 0x8b
jne 0x4c84a9
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xb8
jne 0x4c84b8
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xb9
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xa1
jne 0x4c896a
cmp byte [ebp - 0xd], 0
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
cmp byte [0x5c7dd0], 0xff
jne 0x4c850b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dad
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
mov al, byte [ebp - 0xc]
and al, 0xf8
cmp al, 0x50
je 0x4c854f
cmp byte [ebp - 0xc], 0xe8
je 0x4c854f
cmp byte [ebp - 0xc], 0xe9
jne 0x4c8553
mov byte [ebp - 9], 1
cmp byte [0x5c7dd0], 0xff
jne 0x4c8569
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
cmp byte [ebp - 9], 0
jne 0x4c896a
cmp byte [ebp - 0xc], 0x6a
jne 0x4c896a
mov al, byte [ebp - 0xe]
and al, 0xf8
cmp al, 0x50
je 0x4c8596
cmp byte [ebp - 0xe], 0xe8
je 0x4c8596
cmp byte [ebp - 0xe], 0xe9
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xec
je 0x4c85ab
cmp byte [ebp - 0xb], 0x6c
jne 0x4c85ba
cmp byte [ebp - 0xc], 0
je 0x4c85ba
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
cmp byte [ebp - 0xb], 0x7c
jne 0x4c896a
cmp byte [ebp - 0xc], 0
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0xec
je 0x4c85f0
cmp byte [ebp - 0xb], 0x6c
jne 0x4c85ff
cmp byte [ebp - 0xc], 0
je 0x4c85ff
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c861d
cmp byte [ebp - 0xb], 0x7c
jne 0x4c861d
cmp byte [ebp - 0xc], 0
je 0x4c861d
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
cmp byte [ebp - 0xb], 0x3d
jne 0x4c896a
cmp byte [0x5c7dd0], 0xff
je 0x4c8646
cmp byte [0x5c7dd1], 0xff
jne 0x4c8653
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dae
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xb], 0x74
jne 0x4c8690
cmp byte [ebp - 0xc], 0x24
jne 0x4c8690
cmp byte [ebp - 0xd], 0
je 0x4c8690
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c86e0
cmp byte [ebp - 0xb], 0x15
jne 0x4c86e0
cmp byte [0x5c7dd0], 0xff
je 0x4c86b1
cmp byte [0x5c7dd1], 0xff
jne 0x4c86be
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dae
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
cmp byte [ebp - 0xb], 0x25
jne 0x4c896a
mov eax, 0x5c7dae
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c7dd0], 0xff
jne 0x4c872f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dad
mov ebx, dword [eax]
cmp byte [0x5c3be4], 0
je 0x4c8751
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c8751
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x4c8764
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
cmp byte [0x5c7dd1], 0xff
jne 0x4c877a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
cmp byte [ebp - 0xf], 0xc2
jne 0x4c8798
cmp byte [ebp - 0x10], 0
je 0x4c8798
cmp byte [0x5c7dd2], 0xff
je 0x4c8798
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c896a
mov eax, ebx
and eax, 0xff000000
cmp eax, 0x80000000
jne 0x4c87c8
cmp byte [ebp - 0xf], 0xc2
je 0x4c87bf
cmp byte [ebp - 0xf], 0xc3
jne 0x4c87c8
mov byte [ebp - 9], 1
jmp 0x4c896a
test ebx, 0xff000000
jne 0x4c896a
cmp byte [ebp - 0xf], 0xc2
je 0x4c87e4
cmp byte [ebp - 0xf], 0xc3
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c7dd0], 0xff
jne 0x4c8803
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dad
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf130
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c3be4], 0
je 0x4c8837
cmp byte [0x5c7dd0], 0xff
jne 0x4c8844
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov al, byte [ebp - 0xe]
and al, 0xf8
cmp al, 0x50
jne 0x4c8856
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xe], 0x8b
jne 0x4c8865
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [ebp - 0xe], 0x81
je 0x4c8875
cmp byte [ebp - 0xe], 0x83
jne 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c7dd0], 0xff
jne 0x4c8894
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dad
mov ebx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add ebx, eax
add ebx, 5
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf0a8
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
jmp 0x4c896a
cmp byte [0x5c7dd0], 0xff
je 0x4c88e1
cmp byte [0x5c7dd1], 0xff
je 0x4c88e1
cmp byte [0x5c7dd2], 0xff
jne 0x4c88ee
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
mov eax, 0x5c7dad
mov ebx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add ebx, eax
add ebx, 5
cmp byte [ebp - 0xf], 0xeb
jne 0x4c8958
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf0a8
test al, al
je 0x4c8958
push 0
mov ebx, dword [ebp - 8]
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
add edx, 5
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004ca308
push 0
mov edx, ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
add edx, 7
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004ca308
mov byte [ebp - 9], 1
jmp 0x4c896a
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bf0a8
test al, al
je 0x4c896a
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8982
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c89a4
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00403a34
ret