Function at 0x4c5074
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 0x4c5f97
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
xor ecx, ecx
push ebp
push 0x4c5f6e
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.004e38b0
test al, al
je 0x4c50cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov edx, dword [ebp - 8]
mov eax, dword [0x5bfd64]
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.004bcc34
test al, al
jne 0x4c50f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004c4e74
mov eax, 0x5bfe70
mov edx, 3
call fcn.004bb094
test al, al
je 0x4c5126
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
cmp byte [0x5bfe90], 0xff
je 0x4c5141
cmp byte [0x5bfe91], 0xff
je 0x4c5141
cmp byte [0x5bfe92], 0xff
jne 0x4c514e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov al, byte [0x5bfe70]
mov byte [ebp - 0xa], al
mov al, byte [0x5bfe71]
mov byte [ebp - 0xb], al
mov al, byte [0x5bfe72]
mov byte [ebp - 0xc], al
mov al, byte [0x5bfe73]
mov byte [ebp - 0xd], al
mov al, byte [0x5bfe74]
mov byte [ebp - 0xe], al
mov al, byte [0x5bfe75]
mov byte [ebp - 0xf], al
mov al, byte [0x5bfe76]
mov byte [ebp - 0x10], al
mov eax, 0x5bfe71
mov ebx, dword [eax]
mov eax, 0x5bfe91
mov esi, dword [eax]
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
call fcn.004b61e0
test al, al
je 0x4c51f9
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.004bccb0
test al, al
je 0x4c51f9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c51f9
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c51f9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov al, byte [ebp - 0xa]
sub al, 0x33
je 0x4c5231
add al, 0x93
sub al, 4
jb 0x4c5210
add al, 0xec
sub al, 2
jae 0x4c5296
cmp esi, 0x1010101
jne 0x4c5226
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
jne 0x4c522a
xor eax, eax
jmp 0x4c522c
mov al, 1
mov byte [ebp - 9], al
jmp 0x4c5296
mov eax, 0x5bfe91
cmp word [eax], 0
jne 0x4c526d
mov eax, 0x5bfe71
movzx eax, word [eax]
cmp eax, 0xc3c0
jne 0x4c526d
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, 3
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c5fb0
call fcn.00403d9c
je 0x4c5291
mov eax, 0x5bfe91
cmp word [eax], 0
jne 0x4c528d
mov eax, 0x5bfe71
movzx eax, word [eax]
cmp eax, 0xc2c0
jne 0x4c528d
cmp byte [ebp - 0xd], 0
jne 0x4c5291
xor eax, eax
jmp 0x4c5293
mov al, 1
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
jne 0x4c52a5
cmp byte [0x5bfe93], 0xff
jne 0x4c52b2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
cmp byte [0x5bbaa0], 0
je 0x4c5360
mov ebx, dword [ebp - 8]
xor esi, esi
jmp 0x4c534d
lea ecx, [ebp - 0x28]
mov edx, ebx
mov eax, dword [0x5bfd64]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.00403c8c
cmp eax, 2
jne 0x4c5360
mov edx, ebx
mov eax, dword [0x5bfd64]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004bcc34
test al, al
je 0x4c5360
lea ecx, [ebp - 0x2c]
mov edx, ebx
mov eax, dword [0x5bfd64]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x4c5fbc
call fcn.00403cd8
mov eax, dword [ebp - 0x28]
call fcn.004074a8
mov edx, eax
and dl, 0xf8
cmp dl, 0x50
jne 0x4c5334
inc ebx
inc esi
jmp 0x4c534d
cmp al, 0x8b
jne 0x4c5360
test esi, esi
je 0x4c5360
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, dword [0x5bfd64]
mov eax, dword [eax + 0x10]
sub eax, 9
cmp ebx, eax
jl 0x4c52c9
cmp byte [ebp - 9], 0
je 0x4c5373
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
cmp byte [0x5bbaa0], 0
je 0x4c56e8
mov al, byte [ebp - 0xa]
mov dl, byte [ebp - 0xb]
cmp byte [ebp - 0xa], 0x66
jne 0x4c5392
mov al, byte [ebp - 0xb]
mov dl, byte [ebp - 0xc]
mov ecx, eax
and cl, 0xf8
cmp cl, 0x50
je 0x4c5431
cmp al, 0x60
je 0x4c5431
cmp al, 0x61
je 0x4c5431
cmp al, 0x68
je 0x4c5431
cmp al, 0x6a
je 0x4c5431
cmp al, 0x33
jne 0x4c53c1
cmp dl, 0xc0
je 0x4c5431
cmp al, 0x33
jne 0x4c53ca
cmp dl, 0xd2
je 0x4c5431
cmp al, 0x33
jne 0x4c53d3
cmp dl, 0xdb
je 0x4c5431
cmp al, 0x8a
je 0x4c5431
cmp al, 0x8b
je 0x4c5431
cmp al, 0xb8
je 0x4c5431
cmp al, 0xb9
je 0x4c5431
cmp al, 0xba
je 0x4c5431
cmp al, 0xbb
je 0x4c5431
cmp al, 0x81
je 0x4c5431
cmp al, 0x83
je 0x4c5431
cmp al, 0xff
jne 0x4c53fc
cmp dl, 5
je 0x4c5431
cmp al, 0xff
jne 0x4c5405
cmp dl, 0x15
je 0x4c5431
cmp al, 0xff
jne 0x4c540e
cmp dl, 0x30
je 0x4c5431
cmp al, 0xff
jne 0x4c5417
cmp dl, 0x35
je 0x4c5431
cmp al, 0xff
jne 0x4c5420
cmp dl, 0x71
je 0x4c5431
cmp al, 0xff
jne 0x4c56e8
cmp dl, 0x75
jne 0x4c56e8
mov edx, eax
and dl, 0xf8
cmp dl, 0x50
je 0x4c5443
cmp al, 0x68
je 0x4c5443
cmp al, 0x6a
jne 0x4c546c
push ebp
call fcn.004c4fd8
pop ecx
test al, al
jne 0x4c546c
mov edx, 0x10
mov eax, dword [ebp - 0x14]
call fcn.004b6544
test al, al
je 0x4c546c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov ebx, dword [ebp - 8]
inc ebx
xor eax, eax
xor esi, esi
jmp 0x4c54b7
lea ecx, [ebp - 0x28]
mov edx, ebx
mov eax, dword [0x5bfd64]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.004b6394
test al, al
jne 0x4c54af
mov edx, ebx
mov eax, dword [0x5bfd64]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.004bcc34
test al, al
je 0x4c54af
xor eax, eax
jmp 0x4c54b1
mov al, 1
test al, al
jne 0x4c54cb
inc ebx
inc esi
test al, al
jne 0x4c54cb
mov edx, dword [0x5bfd64]
mov edx, dword [edx + 0x10]
sub edx, 9
cmp ebx, edx
jl 0x4c5476
test al, al
je 0x4c56e8
test esi, esi
jle 0x4c56e8
test esi, esi
jle 0x4c5603
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 8]
add ebx, esi
mov edx, ebx
mov eax, dword [0x5bfd64]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c5fc8
call fcn.00403d9c
je 0x4c5524
lea ecx, [ebp - 0x28]
mov edx, ebx
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c5fd4
call fcn.00403d9c
jne 0x4c552a
dec esi
jmp 0x4c55fb
cmp esi, 2
jle 0x4c5549
mov edx, dword [ebp - 8]
add edx, esi
dec edx
mov eax, dword [ebp - 4]
call fcn.004e3148
test al, al
je 0x4c5549
sub esi, 2
jmp 0x4c55fb
cmp esi, 3
jle 0x4c5585
mov ebx, dword [ebp - 8]
add ebx, esi
sub ebx, 2
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e2cb4
test al, al
jne 0x4c5580
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e34c8
test al, al
jne 0x4c5580
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004e3548
test al, al
je 0x4c5585
sub esi, 3
jmp 0x4c55fb
cmp esi, 4
jle 0x4c55a3
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 3
mov eax, dword [ebp - 4]
call fcn.004e3388
test al, al
je 0x4c55a3
sub esi, 4
jmp 0x4c55fb
cmp esi, 5
jle 0x4c55c1
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [ebp - 4]
call fcn.004e3290
test al, al
je 0x4c55c1
sub esi, 5
jmp 0x4c55fb
cmp esi, 6
jle 0x4c55df
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 5
mov eax, dword [ebp - 4]
call fcn.004e2ddc
test al, al
je 0x4c55df
sub esi, 6
jmp 0x4c55fb
cmp esi, 7
jle 0x4c5603
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 6
mov eax, dword [ebp - 4]
call fcn.004e2f60
test al, al
je 0x4c5603
sub esi, 7
test esi, esi
jg 0x4c54e3
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c5fe0
call fcn.00403d9c
jne 0x4c562d
mov byte [ebp - 9], 1
jmp 0x4c56e8
cmp esi, 3
jle 0x4c565f
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 2
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c5fec
call fcn.00403d9c
jne 0x4c565f
mov byte [ebp - 9], 1
jmp 0x4c56e8
cmp esi, 2
jle 0x4c568c
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
dec edx
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c5ff8
call fcn.00403d9c
jne 0x4c568c
mov byte [ebp - 9], 1
jmp 0x4c56e8
cmp esi, 5
jle 0x4c56bb
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c6004
call fcn.00403d9c
jne 0x4c56bb
mov byte [ebp - 9], 1
jmp 0x4c56e8
cmp esi, 5
jle 0x4c56e8
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 8]
add edx, esi
sub edx, 4
mov eax, dword [0x5bfd64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, 0x4c6010
call fcn.00403d9c
jne 0x4c56e8
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x4c56fb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
xor eax, eax
mov al, byte [ebp - 0xa]
cmp eax, 0x83
jg 0x4c5756
je 0x4c5bd6
cmp eax, 0x64
jg 0x4c5736
je 0x4c5abd
sub eax, 0x53
je 0x4c5926
sub eax, 2
je 0x4c57ab
dec eax
je 0x4c5a2a
jmp 0x4c5f64
sub eax, 0x68
je 0x4c5ada
sub eax, 2
je 0x4c5b1f
sub eax, 0x17
je 0x4c5b91
jmp 0x4c5f64
cmp eax, 0xc8
jg 0x4c578b
je 0x4c5e17
sub eax, 0x8b
je 0x4c5880
add eax, 0xffffffeb
sub eax, 4
jb 0x4c5ddf
add eax, 0xffffffec
sub eax, 8
jb 0x4c5d0b
jmp 0x4c5f64
sub eax, 0xe8
je 0x4c5e70
dec eax
je 0x4c5eba
sub eax, 0x16
je 0x4c5c67
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x8b
jne 0x4c57c0
cmp byte [ebp - 0xc], 0xec
jne 0x4c57c0
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x33
jne 0x4c57d5
cmp byte [ebp - 0xc], 0xc0
jne 0x4c57d5
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xb8
jne 0x4c57e4
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xb9
jne 0x4c57f3
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x89
jne 0x4c5808
cmp byte [ebp - 0xc], 0xe5
jne 0x4c5808
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x8b
jne 0x4c584d
cmp byte [ebp - 0xc], 0xec
jne 0x4c584d
cmp byte [ebp - 0xd], 0x33
je 0x4c5844
cmp byte [ebp - 0xd], 0xb8
je 0x4c5844
cmp byte [ebp - 0xd], 0x51
je 0x4c5844
cmp byte [ebp - 0xd], 0x53
je 0x4c5844
cmp byte [ebp - 0xd], 0x56
je 0x4c5844
cmp byte [ebp - 0xd], 0x81
je 0x4c5844
cmp byte [ebp - 0xd], 0x83
je 0x4c5844
cmp byte [ebp - 0xd], 0x8b
jne 0x4c584d
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5f64
cmp byte [ebp - 0xd], 0x24
jne 0x4c5f64
cmp byte [ebp - 0xc], 0x44
je 0x4c5877
cmp byte [ebp - 0xc], 0x4c
je 0x4c5877
cmp byte [ebp - 0xc], 0x54
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x44
je 0x4c5895
cmp byte [ebp - 0xb], 0x4c
je 0x4c5895
mov al, byte [ebp - 0xb]
and al, 0xf8
cmp al, 0x50
jne 0x4c58a4
cmp byte [ebp - 0xc], 0x24
jne 0x4c58a4
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
cmp byte [ebp - 0xb], 5
je 0x4c58e5
cmp byte [ebp - 0xb], 0xd
je 0x4c58e5
cmp byte [ebp - 0xb], 0x15
je 0x4c58e5
cmp byte [ebp - 0xb], 0x1d
je 0x4c58e5
cmp byte [ebp - 0xb], 0x25
je 0x4c58e5
cmp byte [ebp - 0xb], 0x2d
je 0x4c58e5
cmp byte [ebp - 0xb], 0x35
je 0x4c58e5
cmp byte [ebp - 0xb], 0x3d
jne 0x4c5f64
cmp byte [0x5bfe94], 0xff
je 0x4c58f7
cmp byte [0x5bfe95], 0xff
jne 0x4c5904
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe72
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c5930
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c594c
cmp byte [ebp - 0xb], 0xa1
jne 0x4c594c
mov byte [ebp - 9], 1
jmp 0x4c5f64
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c5956
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c5972
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5972
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x56
jne 0x4c5987
cmp byte [ebp - 0xc], 0x57
jne 0x4c5987
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x56
jne 0x4c59a2
cmp byte [ebp - 0xc], 0x8b
jne 0x4c59a2
cmp byte [ebp - 0xd], 0x74
jne 0x4c59a2
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x8b
jne 0x4c59c3
cmp byte [ebp - 0xc], 0x5c
je 0x4c59b4
cmp byte [ebp - 0xc], 0x74
jne 0x4c59c3
cmp byte [ebp - 0xd], 0x24
jne 0x4c59c3
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x55
jne 0x4c59de
cmp byte [ebp - 0xc], 0x56
jne 0x4c59de
cmp byte [ebp - 0xd], 0x57
jne 0x4c59de
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x55
jne 0x4c59f9
cmp byte [ebp - 0xc], 0x56
jne 0x4c59f9
cmp byte [ebp - 0xd], 0x8b
jne 0x4c59f9
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x55
je 0x4c5a05
cmp byte [ebp - 0xb], 0x56
jne 0x4c5a17
mov al, byte [ebp - 0xc]
and al, 0xf0
cmp al, 0x80
jne 0x4c5a17
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xb9
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5a45
cmp byte [ebp - 0xc], 0x74
jne 0x4c5a45
cmp byte [ebp - 0xd], 0x24
jne 0x4c5a45
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x57
jne 0x4c5a60
cmp byte [ebp - 0xc], 0x8b
jne 0x4c5a60
cmp byte [ebp - 0xd], 0x74
jne 0x4c5a60
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x57
jne 0x4c5a75
cmp byte [ebp - 0xc], 0x8b
jne 0x4c5a75
mov byte [ebp - 9], 1
jmp 0x4c5f64
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x4c5a7f
add eax, 3
sar eax, 2
shl eax, 2
mov edx, dword [ebp - 0x14]
sub edx, eax
jne 0x4c5a9b
cmp byte [ebp - 0xb], 0x8b
jne 0x4c5a9b
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xb8
jne 0x4c5aaa
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xb9
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xa1
jne 0x4c5f64
cmp byte [ebp - 0xd], 0
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
cmp byte [0x5bfe94], 0xff
jne 0x4c5afd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe71
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
mov al, byte [ebp - 0xc]
and al, 0xf8
cmp al, 0x50
je 0x4c5b41
cmp byte [ebp - 0xc], 0xe8
je 0x4c5b41
cmp byte [ebp - 0xc], 0xe9
jne 0x4c5b45
mov byte [ebp - 9], 1
cmp byte [0x5bfe94], 0xff
jne 0x4c5b5b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
cmp byte [ebp - 9], 0
jne 0x4c5f64
cmp byte [ebp - 0xc], 0x6a
jne 0x4c5f64
mov al, byte [ebp - 0xe]
and al, 0xf8
cmp al, 0x50
je 0x4c5b88
cmp byte [ebp - 0xe], 0xe8
je 0x4c5b88
cmp byte [ebp - 0xe], 0xe9
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xec
je 0x4c5b9d
cmp byte [ebp - 0xb], 0x6c
jne 0x4c5bac
cmp byte [ebp - 0xc], 0
je 0x4c5bac
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
cmp byte [ebp - 0xb], 0x7c
jne 0x4c5f64
cmp byte [ebp - 0xc], 0
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0xec
je 0x4c5be2
cmp byte [ebp - 0xb], 0x6c
jne 0x4c5bf1
cmp byte [ebp - 0xc], 0
je 0x4c5bf1
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5c0f
cmp byte [ebp - 0xb], 0x7c
jne 0x4c5c0f
cmp byte [ebp - 0xc], 0
je 0x4c5c0f
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
cmp byte [ebp - 0xb], 0x3d
jne 0x4c5f64
cmp byte [0x5bfe94], 0xff
je 0x4c5c38
cmp byte [0x5bfe95], 0xff
jne 0x4c5c45
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe72
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xb], 0x74
jne 0x4c5c82
cmp byte [ebp - 0xc], 0x24
jne 0x4c5c82
cmp byte [ebp - 0xd], 0
je 0x4c5c82
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5cd2
cmp byte [ebp - 0xb], 0x15
jne 0x4c5cd2
cmp byte [0x5bfe94], 0xff
je 0x4c5ca3
cmp byte [0x5bfe95], 0xff
jne 0x4c5cb0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe72
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
cmp byte [ebp - 0xb], 0x25
jne 0x4c5f64
mov eax, 0x5bfe72
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bfe94], 0xff
jne 0x4c5d21
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe71
mov ebx, dword [eax]
cmp byte [0x5bbaa0], 0
je 0x4c5d43
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5d43
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x4c5d56
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
cmp byte [0x5bfe95], 0xff
jne 0x4c5d6c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
cmp byte [ebp - 0xf], 0xc2
jne 0x4c5d8a
cmp byte [ebp - 0x10], 0
je 0x4c5d8a
cmp byte [0x5bfe96], 0xff
je 0x4c5d8a
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5f64
mov eax, ebx
and eax, 0xff000000
cmp eax, 0x80000000
jne 0x4c5dba
cmp byte [ebp - 0xf], 0xc2
je 0x4c5db1
cmp byte [ebp - 0xf], 0xc3
jne 0x4c5dba
mov byte [ebp - 9], 1
jmp 0x4c5f64
test ebx, 0xff000000
jne 0x4c5f64
cmp byte [ebp - 0xf], 0xc2
je 0x4c5dd6
cmp byte [ebp - 0xf], 0xc3
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bfe94], 0xff
jne 0x4c5df5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe71
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bccb0
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bbaa0], 0
je 0x4c5e29
cmp byte [0x5bfe94], 0xff
jne 0x4c5e36
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov al, byte [ebp - 0xe]
and al, 0xf8
cmp al, 0x50
jne 0x4c5e48
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xe], 0x8b
jne 0x4c5e57
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [ebp - 0xe], 0x81
je 0x4c5e67
cmp byte [ebp - 0xe], 0x83
jne 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bfe94], 0xff
jne 0x4c5e86
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe71
mov ebx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bfd64]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add ebx, eax
add ebx, 5
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bcc34
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
jmp 0x4c5f64
cmp byte [0x5bfe94], 0xff
je 0x4c5ed5
cmp byte [0x5bfe95], 0xff
je 0x4c5ed5
cmp byte [0x5bfe96], 0xff
jne 0x4c5ee2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
mov eax, 0x5bfe71
mov ebx, dword [eax]
mov edx, dword [ebp - 8]
mov eax, dword [0x5bfd64]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add ebx, eax
add ebx, 5
cmp byte [ebp - 0xf], 0xeb
jne 0x4c5f52
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bcc34
test al, al
je 0x4c5f52
push 0
mov ebx, dword [ebp - 8]
mov edx, ebx
mov eax, dword [0x5bfd64]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
add edx, 5
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c7724
push 0
mov edx, ebx
mov eax, dword [0x5bfd64]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
add edx, 7
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c7724
mov byte [ebp - 9], 1
jmp 0x4c5f64
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004bcc34
test al, al
je 0x4c5f64
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c5f7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c5f9e
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00403a34
ret