Function at 0x4c5440
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4c6363
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
xor ecx, ecx
push ebp
push 0x4c633a
push dword fs:[ecx]
mov dword fs:[ecx], esp
push 0
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004e3ab4
test al, al
je 0x4c5498
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov edx, dword [ebp - 8]
mov eax, dword [0x5bcd44]
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.004bd13c
test al, al
jne 0x4c54c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004c5240
mov eax, 0x5bce50
mov edx, 3
call fcn.004bb59c
test al, al
je 0x4c54f2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
cmp byte [0x5bce70], 0xff
je 0x4c550d
cmp byte [0x5bce71], 0xff
je 0x4c550d
cmp byte [0x5bce72], 0xff
jne 0x4c551a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov al, byte [0x5bce50]
mov byte [ebp - 0xa], al
mov al, byte [0x5bce51]
mov byte [ebp - 0xb], al
mov al, byte [0x5bce52]
mov byte [ebp - 0xc], al
mov al, byte [0x5bce53]
mov byte [ebp - 0xd], al
mov al, byte [0x5bce54]
mov byte [ebp - 0xe], al
mov al, byte [0x5bce55]
mov byte [ebp - 0xf], al
mov al, byte [0x5bce56]
mov byte [ebp - 0x10], al
mov eax, 0x5bce51
mov ebx, dword [eax]
mov eax, 0x5bce71
mov esi, dword [eax]
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
call fcn.004b6808
test al, al
je 0x4c55c5
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.004bd1b8
test al, al
je 0x4c55c5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c55c5
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c55c5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov al, byte [ebp - 0xa]
sub al, 0x33
je 0x4c55fd
add al, 0x93
sub al, 4
jb 0x4c55dc
add al, 0xec
sub al, 2
jae 0x4c5662
cmp esi, 0x1010101
jne 0x4c55f2
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
jne 0x4c55f6
xor eax, eax
jmp 0x4c55f8
mov al, 1
mov byte [ebp - 9], al
jmp 0x4c5662
mov eax, 0x5bce71
cmp word [eax], 0
jne 0x4c5639
mov eax, 0x5bce51
movzx eax, word [eax]
cmp eax, 0xc3c0
jne 0x4c5639
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, 3
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c637c
call fcn.00403d9c
je 0x4c565d
mov eax, 0x5bce71
cmp word [eax], 0
jne 0x4c5659
mov eax, 0x5bce51
movzx eax, word [eax]
cmp eax, 0xc2c0
jne 0x4c5659
cmp byte [ebp - 0xd], 0
jne 0x4c565d
xor eax, eax
jmp 0x4c565f
mov al, 1
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
jne 0x4c5671
cmp byte [0x5bce73], 0xff
jne 0x4c567e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
cmp byte [0x5b88e8], 0
je 0x4c572c
mov ebx, dword [ebp - 8]
xor esi, esi
jmp 0x4c5719
lea ecx, [ebp - 0x28]
mov edx, ebx
mov eax, dword [0x5bcd44]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.00403c8c
cmp eax, 2
jne 0x4c572c
mov edx, ebx
mov eax, dword [0x5bcd44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004bd13c
test al, al
je 0x4c572c
lea ecx, [ebp - 0x2c]
mov edx, ebx
mov eax, dword [0x5bcd44]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x4c6388
call fcn.00403cd8
mov eax, dword [ebp - 0x28]
call fcn.00407468
mov edx, eax
and dl, 0xf8
cmp dl, 0x50
jne 0x4c5700
inc ebx
inc esi
jmp 0x4c5719
cmp al, 0x8b
jne 0x4c572c
test esi, esi
je 0x4c572c
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, dword [0x5bcd44]
mov eax, dword [eax + 0x10]
sub eax, 9
cmp ebx, eax
jl 0x4c5695
cmp byte [ebp - 9], 0
je 0x4c573f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
cmp byte [0x5b88e8], 0
je 0x4c5ab4
mov al, byte [ebp - 0xa]
mov dl, byte [ebp - 0xb]
cmp byte [ebp - 0xa], 0x66
jne 0x4c575e
mov al, byte [ebp - 0xb]
mov dl, byte [ebp - 0xc]
mov ecx, eax
and cl, 0xf8
cmp cl, 0x50
je 0x4c57fd
cmp al, 0x60
je 0x4c57fd
cmp al, 0x61
je 0x4c57fd
cmp al, 0x68
je 0x4c57fd
cmp al, 0x6a
je 0x4c57fd
cmp al, 0x33
jne 0x4c578d
cmp dl, 0xc0
je 0x4c57fd
cmp al, 0x33
jne 0x4c5796
cmp dl, 0xd2
je 0x4c57fd
cmp al, 0x33
jne 0x4c579f
cmp dl, 0xdb
je 0x4c57fd
cmp al, 0x8a
je 0x4c57fd
cmp al, 0x8b
je 0x4c57fd
cmp al, 0xb8
je 0x4c57fd
cmp al, 0xb9
je 0x4c57fd
cmp al, 0xba
je 0x4c57fd
cmp al, 0xbb
je 0x4c57fd
cmp al, 0x81
je 0x4c57fd
cmp al, 0x83
je 0x4c57fd
cmp al, 0xff
jne 0x4c57c8
cmp dl, 5
je 0x4c57fd
cmp al, 0xff
jne 0x4c57d1
cmp dl, 0x15
je 0x4c57fd
cmp al, 0xff
jne 0x4c57da
cmp dl, 0x30
je 0x4c57fd
cmp al, 0xff
jne 0x4c57e3
cmp dl, 0x35
je 0x4c57fd
cmp al, 0xff
jne 0x4c57ec
cmp dl, 0x71
je 0x4c57fd
cmp al, 0xff
jne 0x4c5ab4
cmp dl, 0x75
jne 0x4c5ab4
mov edx, eax
and dl, 0xf8
cmp dl, 0x50
je 0x4c580f
cmp al, 0x68
je 0x4c580f
cmp al, 0x6a
jne 0x4c5838
push ebp
call fcn.004c53a4
pop ecx
test al, al
jne 0x4c5838
mov edx, 0x10
mov eax, dword [ebp - 0x14]
call fcn.004b6b6c
test al, al
je 0x4c5838
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov ebx, dword [ebp - 8]
inc ebx
xor eax, eax
xor esi, esi
jmp 0x4c5883
lea ecx, [ebp - 0x28]
mov edx, ebx
mov eax, dword [0x5bcd44]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.004b69bc
test al, al
jne 0x4c587b
mov edx, ebx
mov eax, dword [0x5bcd44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004bd13c
test al, al
je 0x4c587b
xor eax, eax
jmp 0x4c587d
mov al, 1
test al, al
jne 0x4c5897
inc ebx
inc esi
test al, al
jne 0x4c5897
mov edx, dword [0x5bcd44]
mov edx, dword [edx + 0x10]
sub edx, 9
cmp ebx, edx
jl 0x4c5842
test al, al
je 0x4c5ab4
test esi, esi
jle 0x4c5ab4
test esi, esi
jle 0x4c59cf
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 8]
add ebx, esi
mov edx, ebx
mov eax, dword [0x5bcd44]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c6394
call fcn.00403d9c
je 0x4c58f0
lea ecx, [ebp - 0x28]
mov edx, ebx
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c63a0
call fcn.00403d9c
jne 0x4c58f6
dec esi
jmp 0x4c59c7
cmp esi, 2
jle 0x4c5915
mov edx, dword [ebp - 8]
add edx, esi
dec edx
mov eax, dword [ebp - 4]
call fcn.004e334c
test al, al
je 0x4c5915
sub esi, 2
jmp 0x4c59c7
cmp esi, 3
jle 0x4c5951
mov ebx, dword [ebp - 8]
add ebx, esi
sub ebx, 2
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e2eb8
test al, al
jne 0x4c594c
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e36cc
test al, al
jne 0x4c594c
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e374c
test al, al
je 0x4c5951
sub esi, 3
jmp 0x4c59c7
cmp esi, 4
jle 0x4c596f
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 3
mov eax, dword [ebp - 4]
call fcn.004e358c
test al, al
je 0x4c596f
sub esi, 4
jmp 0x4c59c7
cmp esi, 5
jle 0x4c598d
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [ebp - 4]
call fcn.004e3494
test al, al
je 0x4c598d
sub esi, 5
jmp 0x4c59c7
cmp esi, 6
jle 0x4c59ab
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 5
mov eax, dword [ebp - 4]
call fcn.004e2fe0
test al, al
je 0x4c59ab
sub esi, 6
jmp 0x4c59c7
cmp esi, 7
jle 0x4c59cf
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 6
mov eax, dword [ebp - 4]
call fcn.004e3164
test al, al
je 0x4c59cf
sub esi, 7
test esi, esi
jg 0x4c58af
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c63ac
call fcn.00403d9c
jne 0x4c59f9
mov byte [ebp - 9], 1
jmp 0x4c5ab4
cmp esi, 3
jle 0x4c5a2b
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 2
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c63b8
call fcn.00403d9c
jne 0x4c5a2b
mov byte [ebp - 9], 1
jmp 0x4c5ab4
cmp esi, 2
jle 0x4c5a58
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
dec edx
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c63c4
call fcn.00403d9c
jne 0x4c5a58
mov byte [ebp - 9], 1
jmp 0x4c5ab4
cmp esi, 5
jle 0x4c5a87
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c63d0
call fcn.00403d9c
jne 0x4c5a87
mov byte [ebp - 9], 1
jmp 0x4c5ab4
cmp esi, 5
jle 0x4c5ab4
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [0x5bcd44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c63dc
call fcn.00403d9c
jne 0x4c5ab4
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x4c5ac7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
xor eax, eax
mov al, byte [ebp - 0xa]
cmp eax, 0x83
jg 0x4c5b22
je 0x4c5fa2
cmp eax, 0x64
jg 0x4c5b02
je 0x4c5e89
sub eax, 0x53
je 0x4c5cf2
sub eax, 2
je 0x4c5b77
dec eax
je 0x4c5df6
jmp 0x4c6330
sub eax, 0x68
je 0x4c5ea6
sub eax, 2
je 0x4c5eeb
sub eax, 0x17
je 0x4c5f5d
jmp 0x4c6330
cmp eax, 0xc8
jg 0x4c5b57
je 0x4c61e3
sub eax, 0x8b
je 0x4c5c4c
add eax, 0xffffffeb
sub eax, 4
jb 0x4c61ab
add eax, 0xffffffec
sub eax, 8
jb 0x4c60d7
jmp 0x4c6330
sub eax, 0xe8
je 0x4c623c
dec eax
je 0x4c6286
sub eax, 0x16
je 0x4c6033
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5b8c
cmp byte [ebp - 0xc], 0xec
jne 0x4c5b8c
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x33
jne 0x4c5ba1
cmp byte [ebp - 0xc], 0xc0
jne 0x4c5ba1
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xb8
jne 0x4c5bb0
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xb9
jne 0x4c5bbf
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x89
jne 0x4c5bd4
cmp byte [ebp - 0xc], 0xe5
jne 0x4c5bd4
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5c19
cmp byte [ebp - 0xc], 0xec
jne 0x4c5c19
cmp byte [ebp - 0xd], 0x33
je 0x4c5c10
cmp byte [ebp - 0xd], 0xb8
je 0x4c5c10
cmp byte [ebp - 0xd], 0x51
je 0x4c5c10
cmp byte [ebp - 0xd], 0x53
je 0x4c5c10
cmp byte [ebp - 0xd], 0x56
je 0x4c5c10
cmp byte [ebp - 0xd], 0x81
je 0x4c5c10
cmp byte [ebp - 0xd], 0x83
je 0x4c5c10
cmp byte [ebp - 0xd], 0x8b
jne 0x4c5c19
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x8b
jne 0x4c6330
cmp byte [ebp - 0xd], 0x24
jne 0x4c6330
cmp byte [ebp - 0xc], 0x44
je 0x4c5c43
cmp byte [ebp - 0xc], 0x4c
je 0x4c5c43
cmp byte [ebp - 0xc], 0x54
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x44
je 0x4c5c61
cmp byte [ebp - 0xb], 0x4c
je 0x4c5c61
mov al, byte [ebp - 0xb]
and al, 0xf8
cmp al, 0x50
jne 0x4c5c70
cmp byte [ebp - 0xc], 0x24
jne 0x4c5c70
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
cmp byte [ebp - 0xb], 5
je 0x4c5cb1
cmp byte [ebp - 0xb], 0xd
je 0x4c5cb1
cmp byte [ebp - 0xb], 0x15
je 0x4c5cb1
cmp byte [ebp - 0xb], 0x1d
je 0x4c5cb1
cmp byte [ebp - 0xb], 0x25
je 0x4c5cb1
cmp byte [ebp - 0xb], 0x2d
je 0x4c5cb1
cmp byte [ebp - 0xb], 0x35
je 0x4c5cb1
cmp byte [ebp - 0xb], 0x3d
jne 0x4c6330
cmp byte [0x5bce74], 0xff
je 0x4c5cc3
cmp byte [0x5bce75], 0xff
jne 0x4c5cd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce52
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c5cfc
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c5d18
cmp byte [ebp - 0xb], 0xa1
jne 0x4c5d18
mov byte [ebp - 9], 1
jmp 0x4c6330
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c5d22
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c5d3e
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5d3e
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x56
jne 0x4c5d53
cmp byte [ebp - 0xc], 0x57
jne 0x4c5d53
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x56
jne 0x4c5d6e
cmp byte [ebp - 0xc], 0x8b
jne 0x4c5d6e
cmp byte [ebp - 0xd], 0x74
jne 0x4c5d6e
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5d8f
cmp byte [ebp - 0xc], 0x5c
je 0x4c5d80
cmp byte [ebp - 0xc], 0x74
jne 0x4c5d8f
cmp byte [ebp - 0xd], 0x24
jne 0x4c5d8f
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x55
jne 0x4c5daa
cmp byte [ebp - 0xc], 0x56
jne 0x4c5daa
cmp byte [ebp - 0xd], 0x57
jne 0x4c5daa
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x55
jne 0x4c5dc5
cmp byte [ebp - 0xc], 0x56
jne 0x4c5dc5
cmp byte [ebp - 0xd], 0x8b
jne 0x4c5dc5
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x55
je 0x4c5dd1
cmp byte [ebp - 0xb], 0x56
jne 0x4c5de3
mov al, byte [ebp - 0xc]
and al, 0xf0
cmp al, 0x80
jne 0x4c5de3
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xb9
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5e11
cmp byte [ebp - 0xc], 0x74
jne 0x4c5e11
cmp byte [ebp - 0xd], 0x24
jne 0x4c5e11
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x57
jne 0x4c5e2c
cmp byte [ebp - 0xc], 0x8b
jne 0x4c5e2c
cmp byte [ebp - 0xd], 0x74
jne 0x4c5e2c
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x57
jne 0x4c5e41
cmp byte [ebp - 0xc], 0x8b
jne 0x4c5e41
mov byte [ebp - 9], 1
jmp 0x4c6330
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c5e4b
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c5e67
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5e67
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xb8
jne 0x4c5e76
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xb9
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xa1
jne 0x4c6330
cmp byte [ebp - 0xd], 0
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
cmp byte [0x5bce74], 0xff
jne 0x4c5ec9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce51
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
mov al, byte [ebp - 0xc]
and al, 0xf8
cmp al, 0x50
je 0x4c5f0d
cmp byte [ebp - 0xc], 0xe8
je 0x4c5f0d
cmp byte [ebp - 0xc], 0xe9
jne 0x4c5f11
mov byte [ebp - 9], 1
cmp byte [0x5bce74], 0xff
jne 0x4c5f27
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
cmp byte [ebp - 9], 0
jne 0x4c6330
cmp byte [ebp - 0xc], 0x6a
jne 0x4c6330
mov al, byte [ebp - 0xe]
and al, 0xf8
cmp al, 0x50
je 0x4c5f54
cmp byte [ebp - 0xe], 0xe8
je 0x4c5f54
cmp byte [ebp - 0xe], 0xe9
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xec
je 0x4c5f69
cmp byte [ebp - 0xb], 0x6c
jne 0x4c5f78
cmp byte [ebp - 0xc], 0
je 0x4c5f78
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
cmp byte [ebp - 0xb], 0x7c
jne 0x4c6330
cmp byte [ebp - 0xc], 0
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0xec
je 0x4c5fae
cmp byte [ebp - 0xb], 0x6c
jne 0x4c5fbd
cmp byte [ebp - 0xc], 0
je 0x4c5fbd
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c5fdb
cmp byte [ebp - 0xb], 0x7c
jne 0x4c5fdb
cmp byte [ebp - 0xc], 0
je 0x4c5fdb
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
cmp byte [ebp - 0xb], 0x3d
jne 0x4c6330
cmp byte [0x5bce74], 0xff
je 0x4c6004
cmp byte [0x5bce75], 0xff
jne 0x4c6011
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce52
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xb], 0x74
jne 0x4c604e
cmp byte [ebp - 0xc], 0x24
jne 0x4c604e
cmp byte [ebp - 0xd], 0
je 0x4c604e
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c609e
cmp byte [ebp - 0xb], 0x15
jne 0x4c609e
cmp byte [0x5bce74], 0xff
je 0x4c606f
cmp byte [0x5bce75], 0xff
jne 0x4c607c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce52
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
cmp byte [ebp - 0xb], 0x25
jne 0x4c6330
mov eax, 0x5bce52
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5bce74], 0xff
jne 0x4c60ed
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce51
mov ebx, dword [eax]
cmp byte [0x5b88e8], 0
je 0x4c610f
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c610f
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x4c6122
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
cmp byte [0x5bce75], 0xff
jne 0x4c6138
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
cmp byte [ebp - 0xf], 0xc2
jne 0x4c6156
cmp byte [ebp - 0x10], 0
je 0x4c6156
cmp byte [0x5bce76], 0xff
je 0x4c6156
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c6330
mov eax, ebx
and eax, 0xff000000
cmp eax, 0x80000000
jne 0x4c6186
cmp byte [ebp - 0xf], 0xc2
je 0x4c617d
cmp byte [ebp - 0xf], 0xc3
jne 0x4c6186
mov byte [ebp - 9], 1
jmp 0x4c6330
test ebx, 0xff000000
jne 0x4c6330
cmp byte [ebp - 0xf], 0xc2
je 0x4c61a2
cmp byte [ebp - 0xf], 0xc3
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5bce74], 0xff
jne 0x4c61c1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce51
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd1b8
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5b88e8], 0
je 0x4c61f5
cmp byte [0x5bce74], 0xff
jne 0x4c6202
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov al, byte [ebp - 0xe]
and al, 0xf8
cmp al, 0x50
jne 0x4c6214
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xe], 0x8b
jne 0x4c6223
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [ebp - 0xe], 0x81
je 0x4c6233
cmp byte [ebp - 0xe], 0x83
jne 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5bce74], 0xff
jne 0x4c6252
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce51
mov ebx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bcd44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add ebx, eax
add ebx, 5
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd13c
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
jmp 0x4c6330
cmp byte [0x5bce74], 0xff
je 0x4c62a1
cmp byte [0x5bce75], 0xff
je 0x4c62a1
cmp byte [0x5bce76], 0xff
jne 0x4c62ae
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
mov eax, 0x5bce51
mov ebx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bcd44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add ebx, eax
add ebx, 5
cmp byte [ebp - 0xf], 0xeb
jne 0x4c631e
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd13c
test al, al
je 0x4c631e
push 0
mov ebx, dword [ebp - 8]
mov edx, ebx
mov eax, dword [0x5bcd44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
add edx, 5
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c7a88
push 0
mov edx, ebx
mov eax, dword [0x5bcd44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
add edx, 7
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c7a88
mov byte [ebp - 9], 1
jmp 0x4c6330
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bd13c
test al, al
je 0x4c6330
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c6348
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c636a
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00403a34
ret