Function at 0x486860
Capabilities:
Parse credit card information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov ebp, ecx
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
movzx eax, word [esi + 0xc]
cmp ax, 0x62
jne 0x486888
mov bl, 1
cmp word [edi + 0xc], 0x3e
jne case.0x487536.0
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx + 0x84]
test ecx, ecx
je 0x4868c9
lea edi, [eax - 7]
xor edx, edx
mov ebx, 0
cmp di, 0xc
jb 0x4868a8
mov ebx, dword [esi + 8]
cmp ax, 1
cmove ebx, edx
cmp ebx, ecx
mov edi, dword [esp + 0x34]
jne 0x4868c9
mov eax, dword [ebp]
mov bl, 1
cmp byte [eax + 0x11f], 3
je case.0x487536.0
mov eax, dword [ebp]
cmp byte [eax + 0x15c], 0
je 0x4868f1
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x14], 4
jne 0x4868f1
mov ecx, esi
call fcn.004b8de0
mov bl, 1
cmp eax, 0x13
je case.0x487536.0
movzx edx, word [edi + 0xc]
movzx ecx, word [esi + 0xc]
cmp dx, 0x43
jne 0x48690b
cmp cx, 0x42
sete bl
jmp case.0x487536.0
mov eax, ecx
and eax, 0xfffe
cmp ax, 0x42
jne 0x486924
cmp dx, 0x42
sete bl
jmp case.0x487536.0
cmp cx, 0x15
jne 0x486946
cmp dx, 0x16
jne 0x486a04
mov eax, dword [ebp]
cmp byte [eax + 0x1a4], 0
setne bl
jmp case.0x487536.0
cmp cx, 0x17
jne 0x486970
cmp dx, 0x18
jne 0x486970
mov eax, 0x3000
and eax, dword [esi + 0x28]
cmp eax, 0x1000
je 0x486970
mov eax, 0x3000
and eax, dword [edi + 0x28]
cmp eax, 0x1000
jne 0x486934
mov eax, dword [ebp]
mov dword [esp + 4], eax
cmp byte [eax + 0x1ad], 0
je 0x4869ca
cmp dx, 0x16
jne 0x4869ca
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x486a46
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x486a46
mov eax, dword [eax + 0xc]
mov bl, 1
mov dword [esp + 0x10], 0
lea edi, [eax - 0x59]
cmp di, 0x25
ja case.default.0x4869c3
movzx eax, di
mov edi, dword [esp + 0x34]
jmp dword [eax*4 + 0x557f14]
cmp dx, 0x15
jne 0x486a42
movzx eax, cx
cmp eax, 0xa5
jne 0x486a7b
mov eax, dword [esp + 4]
mov al, byte [eax + 0x1a1]
cmp al, 4
je 0x4878c7
cmp al, 3
jne 0x486ca4
cmp dword [edi + 0x44], 0
setne bl
jmp case.0x487536.0
mov eax, dword [ebp]
cmp byte [eax + 0x1ad], 0
mov dword [esp + 4], eax
je 0x486a50
mov eax, dword [esi + 0xa4]
test eax, eax
je case.0x486a3b.1
mov eax, dword [eax + 0xc]
mov bl, 1
lea edi, [eax - 0x59]
cmp di, 0x25
ja case.default.0x486a3b
movzx eax, di
mov edi, dword [esp + 0x34]
jmp dword [eax*4 + 0x557e7c]
xor eax, eax
jmp 0x486a57
mov dword [esp + 0x10], 0
jmp case.0x4869c3.1
cmp dx, 0x15
sete al
mov dword [esp + 0x10], eax
lea eax, [esi + 0x2c]
mov dword [esp + 0xc], eax
mov al, byte [esi + 0x2c]
cmp dx, 5
mov byte [esp + 3], al
jne 0x486a8f
mov bl, 1
cmp al, 0xe
je case.0x487536.0
jmp 0x486a8f
mov al, 1
mov dword [esp + 0x10], eax
lea eax, [esi + 0x2c]
mov dword [esp + 0xc], eax
mov al, byte [esi + 0x2c]
mov byte [esp + 3], al
cmp dx, 0x16
je 0x486af7
cmp cx, 0x15
je 0x486af7
xor ebx, ebx
cmp dx, 0x41
je case.0x487536.0
cmp dx, 0x3e
je case.0x487536.0
cmp dx, 0x2e
jne 0x486b2c
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x14], 2
jne 0x486b83
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x486ae4
mov eax, dword [eax + 0xa8]
test eax, eax
je 0x486ae4
cmp word [eax + 0xc], 0x3d
je 0x486ca4
mov eax, dword [esp + 4]
cmp byte [eax + 0x15e], 0
setne bl
jmp case.0x487536.0
cmp byte [edi + 0x2c], 9
je 0x486b0d
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x486b18
cmp byte [eax + 0x2c], 9
jne 0x486b18
mov eax, dword [esp + 4]
add eax, 0x1af
jmp 0x486b21
mov eax, dword [esp + 4]
add eax, 0x1b0
cmp byte [eax], 0
setne bl
jmp case.0x487536.0
lea eax, [ecx - 0x27]
cmp ax, 0x21
ja case.0x486b44.2
mov bl, 1
mov dword [esp + 8], ebx
xor ebx, ebx
movzx eax, ax
jmp dword [eax*4 + 0x558034]
lea eax, [edx - 5]
cmp ax, 9
jae case.0x486b9b.33
mov ebx, esi
mov esi, edi
mov edi, 0x10d
bt edi, eax
mov edi, esi
mov esi, ebx
jb 0x486ca4
jmp case.0x486b9b.33
movzx eax, ax
cmp eax, 0x9e
mov edi, dword [esp + 0x34]
jne case.0x486a3b.1
jmp case.0x487536.0
lea eax, [ecx - 0x27]
cmp ax, 0x21
ja case.default.0x486b9b
mov bl, 1
mov dword [esp + 8], ebx
xor ebx, ebx
movzx eax, ax
jmp dword [eax*4 + 0x557fac]
cmp byte [esp + 3], 0x3a
setne bl
jmp case.0x487536.0
movzx eax, ax
cmp eax, 0x9e
mov edi, dword [esp + 0x34]
jne case.0x4869c3.1
jmp case.0x487536.0
cmp dx, 0x17
sete al
or al, byte [esp + 0x10]
jne 0x486ca4
cmp dx, 0x32
jle 0x486ce3
cmp dx, 0x33
je case.0x486b9b.2
movzx eax, dx
cmp eax, 0x85
je 0x486ca4
mov ebx, 0
cmp eax, 0x93
je case.0x487536.0
jmp 0x486cf7
cmp dx, 0x1a
je 0x486cb7
mov dword [esp + 8], 0
cmp dx, 0x33
je case.0x486b44.7
cmp dx, 0x2e
je case.0x486b44.7
cmp cx, 0x13
jne 0x486cf7
cmp dx, 0x1b
jne 0x486d6d
mov eax, dword [esp + 4]
cmp byte [eax + 0x1b1], 0
setne bl
jmp case.0x487536.0
movzx eax, cx
cmp eax, 0x90
jne case.0x486b9b.2
mov eax, dword [esp + 4]
cmp byte [eax + 0x19a], 0
setne bl
jmp case.0x487536.0
mov dword [esp + 8], 0
mov ecx, dword [esp + 4]
mov al, byte [ecx + 0x11f]
cmp al, 8
je 0x486c97
cmp al, 6
jne 0x486ca4
cmp byte [esp + 3], 0x13
je 0x486c97
cmp byte [edi + 0x2c], 0x13
jne 0x486ca4
cmp dx, 0x33
sete al
test byte [esp + 8], al
je 0x486cab
xor ebx, ebx
jmp case.0x487536.0
cmp byte [ecx + 0x7c], 0
sete bl
jmp case.0x487536.0
lea eax, [ecx - 7]
mov bl, 1
cmp ax, 0xc
jb case.0x487536.0
cmp cx, 5
jne 0x486ca4
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x486ca4
cmp word [eax + 0xc], 0x4e
sete bl
jmp case.0x487536.0
mov dword [esp + 8], 0
cmp dx, 0x1a
je 0x486ca4
cmp dx, 0x2e
je case.0x486b44.7
mov al, byte [edi + 0x2c]
cmp al, 0x18
je 0x486e4e
cmp al, 0x40
jne 0x486d64
cmp cx, 0x16
jne 0x486d84
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x26], 0
je 0x486d84
mov edx, dword [esi + 0xa0]
mov bl, 1
test edx, edx
je case.0x487536.0
mov eax, esi
mov edx, dword [edx + 0xa4]
test edx, edx
je case.0x487536.0
cmp word [edx + 0xc], 4
je 0x486d28
cmp byte [esp + 3], 0x50
jne case.0x487536.0
mov esi, eax
mov eax, dword [esp + 4]
mov al, byte [eax + 0x19b]
and al, 0xfe
mov byte [esp + 3], 0x50
cmp al, 2
je 0x486da1
jmp 0x486e06
mov byte [esp + 8], al
jmp 0x486e7c
mov al, byte [edi + 0x2c]
cmp al, 0x18
je 0x486e4e
mov byte [esp + 8], al
cmp al, 0x40
jne 0x486e7c
mov eax, dword [esp + 4]
mov al, byte [eax + 0x19b]
and al, 0xfe
cmp al, 2
jne 0x486dec
mov bl, 1
cmp byte [esp + 3], 4
je case.0x487536.0
mov bl, 1
lea eax, [ecx - 0x146]
cmp ax, 5
ja 0x486db9
cmp ax, 2
jne case.0x487536.0
lea eax, [ecx - 0x50]
cmp ax, 0x1d
ja 0x486dd3
movzx eax, ax
mov edx, 0x20020001
bt edx, eax
jb case.0x487536.0
movzx eax, cx
cmp eax, 0xb7
je case.0x487536.0
cmp byte [esp + 3], 3
je case.0x487536.0
add ecx, 0xfffffff9
mov bl, 1
cmp cx, 0xc
jb case.0x487536.0
cmp byte [esp + 3], 0x40
je 0x486ca4
mov bl, 1
mov eax, dword [esp + 4]
cmp byte [eax + 0x184], 0
jne case.0x487536.0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x27], 0
je 0x486ca4
mov eax, dword [esi + 0x60]
test eax, eax
je case.0x487536.0
cmp eax, 1
jne 0x486ca4
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
cmp word [eax + 0xc], 0x59
sete bl
jmp case.0x487536.0
mov bl, 1
cmp byte [esp + 3], 0x40
jne case.0x487536.0
mov byte [esp + 8], 0x18
mov eax, dword [esp + 4]
cmp byte [eax + 0x184], 1
je 0x486e8e
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x27], 0
jne 0x486e8e
jmp case.0x487536.0
lea eax, [edi + 0x2c]
mov dword [esp + 0x14], eax
cmp byte [esp + 3], 0x40
jne 0x486fb9
mov eax, dword [esp + 4]
mov al, byte [eax + 0x19b]
or al, 2
cmp al, 3
jne 0x486ee9
mov bl, 1
lea eax, [edx - 0x146]
cmp ax, 5
ja 0x486eb6
cmp ax, 2
jne case.0x487536.0
lea eax, [edx - 0x50]
cmp ax, 0x1d
ja 0x486ed0
movzx eax, ax
mov ecx, 0x20020001
bt ecx, eax
jb case.0x487536.0
movzx eax, dx
cmp eax, 0xb7
je case.0x487536.0
cmp byte [esp + 8], 3
je case.0x487536.0
mov bl, 1
cmp byte [esp + 8], 8
je case.0x487536.0
lea eax, [edx - 7]
cmp ax, 0xc
jb case.0x487536.0
mov eax, dword [ebp + 4]
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
test ebp, ebp
je 0x486f1e
xor eax, eax
cmp dx, 1
je 0x486f1a
mov eax, dword [edi + 8]
cmp eax, ebp
je 0x486f31
test ecx, ecx
je 0x486f3c
xor eax, eax
cmp dx, 1
je 0x486f2d
mov eax, dword [edi + 8]
cmp eax, ecx
jne 0x486f3c
cmp byte [esp + 8], 0x45
jne case.0x487536.0
cmp dx, 0x17
jne 0x486f55
mov eax, 0x3000
and eax, dword [edi + 0x28]
cmp eax, 0x1000
je case.0x487536.0
cmp byte [esp + 8], 1
sete al
mov ecx, dword [esp + 0x10]
or cl, al
jne 0x486ca4
mov eax, dword [esp + 4]
cmp byte [eax + 0x184], 1
je 0x486ca4
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x27], 0
jne 0x486ca4
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x486ca4
movzx eax, word [eax + 0xc]
cmp ax, 0x15
je 0x486ca4
cmp ax, 0x47
setne cl
cmp ax, 0x13
setne bl
and bl, cl
jmp case.0x487536.0
cmp cx, 0x1e
je 0x487098
cmp cx, 0x1a
jne 0x486ff9
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x486ff9
movzx eax, word [eax + 0xc]
cmp eax, 0x1e
ja 0x486ff9
mov edi, 0x58000000
bt edi, eax
jae 0x486ff9
mov eax, dword [esp + 4]
cmp byte [eax + 0x184], 1
setne bl
jmp case.0x487536.0
cmp dx, 0x1e
ja 0x4870af
movzx eax, dx
mov edx, 0x58000000
bt edx, eax
jae 0x4870af
mov ebx, esi
cmp cx, 5
je 0x48707b
movzx eax, cx
cmp eax, 0x8a
je 0x4873ff
mov ecx, ebx
call fcn.004abd90
test al, al
jne 0x48707b
cmp byte [ebx + 0x2c], 0x49
jne 0x48705a
mov eax, dword [ebx + 0xa0]
test eax, eax
je 0x48705a
mov ebx, eax
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x4870af
cmp word [ebx + 0xc], 4
je 0x487047
jmp 0x48708c
movzx ecx, word [ebx + 0xc]
cmp cx, 0x47
jne 0x4873ff
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x4870af
cmp word [ebx + 0xc], 4
je 0x487068
jmp 0x48708c
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x4870af
cmp word [ebx + 0xc], 4
je 0x48707b
movzx ecx, word [ebx + 0xc]
cmp cx, 5
jne 0x48701c
jmp 0x48707b
cmp dx, 0x1e
ja 0x4870af
movzx eax, dx
mov ecx, 0x58000000
bt ecx, eax
jb 0x486ca4
movzx eax, word [esi + 0xc]
cmp ax, 0x13
jne 0x4870d6
mov eax, dword [esp + 0xc]
mov al, byte [eax]
xor ebx, ebx
cmp al, 0x2f
jg 0x48713f
test al, al
je 0x4871c9
cmp al, 1
je 0x48714b
jmp case.0x487536.0
mov ecx, dword [esp + 0x34]
movzx ecx, word [ecx + 0xc]
cmp cx, 0x13
je 0x48716c
cmp cx, 0x14
mov edx, dword [esp + 0x34]
jne 0x4871aa
mov edx, dword [edx + 0xa0]
test edx, edx
je 0x486ca4
mov al, byte [edx + 0x2c]
mov ecx, dword [ebp]
test al, al
je 0x48735c
cmp byte [ecx + 0x1b1], 0
je 0x487135
mov bl, 1
cmp al, 1
je case.0x487536.0
cmp al, 0x30
je case.0x487536.0
cmp al, 0x48
je case.0x487536.0
cmp al, 4
sete bl
jmp case.0x487536.0
cmp al, 0x30
je 0x48714b
cmp al, 0x48
jne case.0x487536.0
mov eax, dword [ebp]
cmp byte [eax + 0x1b1], 0
je 0x486ca4
mov eax, dword [esp + 0x34]
cmp word [eax + 0xc], 0x14
setne bl
jmp case.0x487536.0
mov edx, dword [esp + 0x14]
mov dl, byte [edx]
mov dh, dl
add dh, 0xd0
cmp dh, 0x18
ja 0x487189
movzx edi, dh
mov ebx, 0x1000401
bt ebx, edi
jb 0x4871aa
cmp dl, 5
je 0x4871aa
cmp dl, 0x11
je 0x4871aa
cmp ax, 7
je 0x487267
mov edi, dword [esp + 0xc]
cmp byte [edi], 0x13
jne 0x48770c
cmp ax, 0x17
jne 0x487243
cmp cx, 0x18
jne 0x487233
cmp dword [esi + 0xb0], 0
setne bl
jmp case.0x487536.0
mov eax, dword [esp + 0x34]
cmp word [eax + 0xc], 0x14
je 0x486ca4
mov eax, dword [ebp]
mov bl, 1
cmp byte [eax + 0x1ae], 0
jne case.0x487536.0
mov cl, byte [eax + 0x11f]
cmp cl, 8
je 0x4871fe
cmp cl, 6
jne 0x486ca4
cmp byte [eax + 0x7c], 0
jne 0x486ca4
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x486ca4
movzx ecx, word [eax + 0xc]
cmp cx, 4
jne 0x48774b
mov eax, dword [eax + 0xa4]
test eax, eax
jne 0x487216
jmp 0x486ca4
mov edx, 0x3000
and edx, dword [esi + 0x28]
cmp edx, 0x1000
jne 0x4872b8
cmp cx, 0x18
jne 0x487267
mov edx, dword [esp + 0x34]
mov edx, dword [edx + 0xa0]
test edx, edx
je 0x487267
mov edi, 0x3000
and edi, dword [edx + 0x28]
cmp edi, 0x1000
jne 0x4872b8
mov edx, dword [esp + 0xc]
mov dl, byte [edx]
cmp dl, 0x49
je 0x4872d4
cmp dl, 8
jne 0x4872e3
mov edi, ebp
mov eax, dword [ebp]
mov bl, 1
cmp byte [eax + 0x11f], 4
je case.0x487536.0
mov eax, dword [esi + 0x14]
cmp eax, 3
jb case.0x487536.0
mov ecx, dword [esi + 0x10]
movzx edx, word [ecx + eax - 3]
xor edx, 0x2a3d
movzx eax, byte [ecx + eax - 1]
xor eax, 0x2f
or ax, dx
setne bl
jmp case.0x487536.0
mov eax, dword [ebp]
cmp byte [eax + 0x7c], 0
je 0x4878c7
cmp byte [eax + 0x1b0], 0
setne bl
jmp case.0x487536.0
mov bl, 1
mov edi, dword [esp + 0x14]
cmp byte [edi], 5
je case.0x487536.0
cmp cx, 0x15
jne 0x48730f
cmp ax, 0x14
je 0x4874bd
cmp ax, 0x16
mov ecx, ebp
jne 0x4874ca
mov bl, 1
cmp dl, 4
je case.0x487536.0
jmp 0x4874ca
cmp ax, 0x48
jne 0x487326
mov ecx, dword [esp + 0x34]
call fcn.004b8de0
test eax, eax
jne 0x486ca4
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x52
movzx eax, word [esi + 0xc]
jne 0x487446
xor ebx, ebx
cmp ax, 0x3c
jg 0x4876e9
cmp ax, 0x13
je case.0x487536.0
cmp ax, 0x15
je case.0x487536.0
jmp 0x4878c7
mov bl, 1
cmp byte [ecx + 0x1ae], 0
jne case.0x487536.0
mov ah, byte [ecx + 0x11f]
cmp ah, 8
je 0x48737f
cmp ah, 6
jne 0x487112
cmp byte [ecx + 0x7c], 0
jne 0x487112
jmp 0x487399
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x487112
movzx esi, word [edx + 0xc]
cmp si, 4
je 0x48738b
cmp si, 0x13
jne 0x487112
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x487112
movzx esi, word [edx + 0xc]
cmp si, 4
je 0x4873ad
cmp si, 0x3d
jne 0x487112
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x487112
mov esi, edx
cmp word [edx + 0xc], 4
jne 0x4873f0
mov edx, dword [esi + 0xa4]
test edx, edx
jne 0x4873dd
cmp byte [esi + 0x2c], 0x44
je case.0x487536.0
jmp 0x487112
mov edx, ecx
mov eax, ebx
cmp dx, 4
jne 0x487421
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x487659
movzx edx, word [eax + 0xc]
cmp dx, 4
je 0x487409
movzx edi, dx
mov edx, ecx
mov eax, ebx
cmp edi, 0x8a
jne 0x48765d
mov eax, dword [ebp]
cmp byte [eax + 0x184], 0
setne bl
jmp case.0x487536.0
lea ecx, [eax - 0x14]
cmp cx, 0x1f
ja 0x48745c
movzx ecx, cx
mov edx, 0x80000005
bt edx, ecx
jb 0x487471
cmp ax, 5
je 0x487471
mov ecx, esi
call fcn.004abd90
test al, al
je 0x487785
mov eax, dword [esp + 0x34]
movzx eax, word [eax + 0xc]
cmp ax, 0x17
jne 0x48778d
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0xa8]
mov ax, 0x17
test ecx, ecx
je 0x48778d
cmp word [ecx + 0xc], 4
je 0x487487
mov ecx, 0x3000
mov edx, dword [esp + 0x34]
and ecx, dword [edx + 0x28]
cmp ecx, 0x1000
jne 0x486ca4
jmp 0x48778d
mov bl, 1
cmp dl, 5
mov ecx, ebp
je case.0x487536.0
mov ecx, dword [ecx]
mov cl, byte [ecx + 0x1a1]
cmp dl, 0x14
jne 0x4874e0
cmp cl, 2
je 0x486ca4
mov bl, 1
cmp ax, 0x3e
je case.0x487536.0
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0x14], 2
je case.0x487536.0
test cl, cl
je 0x4878f9
cmp ax, 1
je 0x48752a
lea ecx, [eax - 7]
cmp cx, 0xc
jb 0x48752a
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x48752a
call fcn.00526920
cmp eax, 4
je case.0x487536.0
movzx eax, word [esi + 0xc]
lea ecx, [eax - 0x4e]
cmp cx, 0x20
ja case.0x487536.1
movzx ecx, cx
jmp dword [ecx*4 + 0x5580bc]
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx]
cmp cl, 0x14
je case.0x487536.0
cmp cl, 0x39
je case.0x487536.0
cmp ax, 0x5b
je case.0x487536.0
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx + 0x14]
mov ecx, eax
mov edx, esi
cmp cx, 4
jne 0x487584
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x4875ad
movzx ecx, word [edx + 0xc]
cmp cx, 4
je 0x487570
movzx ecx, cx
cmp ecx, 0x9e
jne 0x4875ad
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x4875ad
movzx ecx, word [edx + 0xc]
cmp cx, 4
je 0x48758f
cmp cx, 0x5b
je case.0x487536.0
mov ecx, eax
mov edx, esi
cmp cx, 4
jne 0x4875cb
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x4875f4
movzx ecx, word [edx + 0xc]
cmp cx, 4
je 0x4875b7
cmp cx, 5
jne 0x4875f4
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x4875f4
movzx ecx, word [edx + 0xc]
cmp cx, 4
je 0x4875d1
cmp edi, 6
je 0x4875f4
cmp cx, 0x5b
je case.0x487536.0
movzx ecx, ax
cmp ecx, 0x94
je 0x4878e8
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx + 0x28]
test ecx, ecx
je 0x4878d5
lea edi, [eax - 7]
mov edx, 0
cmp di, 0xc
jb 0x487622
mov edx, dword [esi + 8]
cmp ax, 1
mov edi, 0
cmove edx, edi
cmp ax, 0x7e
je 0x4878e8
cmp edx, ecx
je 0x4878e8
mov ecx, eax
or ecx, 8
movzx ecx, cx
cmp ecx, 0x89
je 0x4878e8
jmp 0x4878f9
mov edx, ecx
mov eax, ebx
cmp dx, 4
jne 0x487677
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x4876b2
movzx edx, word [eax + 0xc]
cmp dx, 4
je 0x487663
cmp dx, 0x50
jne 0x4876b2
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x4876b2
movzx edx, word [eax + 0xc]
cmp dx, 4
je 0x48767d
movzx eax, dx
cmp eax, 0x8a
jne 0x4876b2
jmp 0x487434
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x4870af
movzx ecx, word [ebx + 0xc]
cmp cx, 4
je 0x4876a0
cmp cx, 0x6d
jne 0x4870af
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x4870af
movzx ecx, word [eax + 0xc]
cmp cx, 4
jne 0x487738
mov eax, dword [eax + 0xa4]
test eax, eax
jne 0x4876d0
jmp 0x4870af
cmp ax, 0x48
je case.0x487536.0
cmp ax, 0x3d
jne 0x4878c7
mov eax, dword [esp + 0xc]
cmp byte [eax], 0x3a
setne bl
jmp case.0x487536.0
cmp ax, 0x14
je 0x486ca4
xor ebx, ebx
cmp dl, 1
jne case.0x487536.0
mov edx, ebp
mov edx, dword [ebp]
cmp byte [edx + 0x1b2], 0
jne 0x4871aa
jmp case.0x487536.0
movzx eax, cx
cmp eax, 0x8a
jne 0x4870af
jmp 0x487434
cmp cx, 0x3d
jne 0x486ca4
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x486ca4
mov ecx, eax
cmp word [eax + 0xc], 4
jne 0x487776
mov eax, dword [ecx + 0xa4]
test eax, eax
jne 0x487763
cmp byte [ecx + 0x2c], 0x44
jne 0x486ca4
jmp case.0x487536.0
mov eax, dword [esp + 0x34]
movzx eax, word [eax + 0xc]
movzx ecx, word [esi + 0xc]
xor ebx, ebx
cmp cx, 0x19
je case.0x487536.0
cmp ax, 0x19
je case.0x487536.0
cmp cx, 5
jne 0x4877c5
cmp ax, 0x42
jne 0x4877c5
cmp dword [esi + 0x14], 1
jne 0x4877c5
mov edx, dword [esi + 0x10]
cmp byte [edx], 0x4c
je 0x486ca4
mov edx, dword [esp + 0xc]
cmp byte [edx], 0x49
jne 0x487808
mov edx, esi
mov edx, dword [esi + 0xa0]
test edx, edx
je 0x4877fe
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x4877fe
movzx edx, word [edx + 0xc]
xor ebx, ebx
cmp dx, 0x19
je case.0x487536.0
cmp dx, 0x47
je case.0x487536.0
cmp ax, 0x13
je 0x486ca4
cmp cx, 0x17
jne 0x48783e
cmp byte [esi + 0x2c], 0x13
jne 0x48783e
mov edx, dword [esi + 0xa4]
test edx, edx
je 0x48783e
movzx esi, word [edx + 0xc]
cmp si, 4
jne 0x487834
mov edx, dword [edx + 0xa4]
test edx, edx
jne 0x48781e
jmp 0x48783e
cmp si, 0x48
je 0x486ca4
cmp ax, 0x18
jne 0x487889
mov edx, dword [esp + 0x34]
mov esi, dword [edx + 0xa0]
test esi, esi
je 0x4878c7
mov edx, esi
cmp word [esi + 0xc], 4
jne 0x487865
mov esi, dword [edx + 0xa4]
test esi, esi
jne 0x487852
cmp byte [edx + 0x2c], 0x13
jne 0x487889
mov edx, dword [edx + 0xa4]
test edx, edx
je 0x487889
movzx esi, word [edx + 0xc]
cmp si, 4
je 0x48786b
cmp si, 0x48
je 0x486ca4
add eax, 0xffffffe5
mov bl, 1
cmp ax, 1
ja case.0x487536.0
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x4d
jne case.0x487536.0
cmp cx, 0x6d
je 0x4878a9
cmp cx, 0x50
jne case.0x487536.0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0xa8]
test eax, eax
je 0x487434
cmp word [eax + 0xc], 0x3e
jne case.0x487536.0
jmp 0x487434
mov bl, 1
mov eax, ebx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
lea ecx, [eax - 0x7e]
cmp cx, 0xb
ja 0x4878f9
mov edx, 0x809
bt edx, ecx
jae 0x4878f9
mov ecx, dword [esi + 0xa4]
test ecx, ecx
je case.0x487536.0
cmp word [ecx + 0xc], 0x19
jne case.0x487536.0
mov ecx, dword [ebp]
mov cl, byte [ecx + 0x1a1]
cmp cl, 4
je 0x48791e
cmp cl, 3
jne 0x486ca4
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x44], 0
je 0x486ca4
cmp ax, 0x61
jle 0x487944
lea ecx, [eax - 0x62]
cmp cx, 0x55
ja case.default.0x487930
movzx eax, cx
jmp dword [eax*4 + 0x558140]
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x14], 6
setne bl
jmp case.0x487536.0
cmp ax, 5
je case.0x487930.0
cmp ax, 0x16
je case.0x487930.0
jmp case.0x487930.1
movzx eax, ax
cmp eax, 0xf5
je case.0x487930.0
mov ecx, esi
call fcn.004abd90
test al, al
jne case.0x487930.0
cmp word [esi + 0xc], 0x14
jne 0x486ca4
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x486ca4
cmp byte [eax + 0x2c], 0x30
jne 0x486ca4
jmp case.0x487930.0