Function at 0x686a20
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov eax, edi
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
mov cl, byte [edi]
cmp cl, 0x2e
je 0x686a62
cmp cl, 0x3e
je 0x686a5b
cmp cl, 0xf0
je 0x686a4b
xor ecx, ecx
jmp 0x686a6d
push 0x986cf0
mov ecx, esi
call fcn.00688220
xor ecx, ecx
jmp 0x686a67
mov ecx, 0x986ccc
jmp 0x686a67
mov ecx, 0x986cdc
lea eax, [edi + 1]
mov dword [ebp - 0xc], eax
movzx eax, byte [eax]
lea edx, [ebp - 0xc]
push edx
push ecx
mov dword [ebp - 0x10], ecx
mov ecx, esi
lea eax, [eax + eax*2]
lea eax, [eax*4 + 0x9e0900]
push eax
call fcn.00685850
mov edi, dword [ebp - 0xc]
test al, al
jne 0x687be9
mov bl, byte [edi]
movzx ecx, bl
mov dword [ebp - 0xc], ebx
lea eax, [ecx - 0xf]
cmp eax, 0xf0
ja case.0x686ab2.16
movzx eax, byte [eax + 0x687c58]
jmp dword [eax*4 + 0x687bf8]
push 0x986d08
mov ecx, esi
call fcn.00688220
movzx eax, word [edi + 1]
mov ecx, esi
push eax
call fcn.006883f0
add edi, 3
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movzx ecx, byte [edi + 1]
mov eax, ecx
and ecx, 7
shr eax, 3
and eax, 7
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp bl, 0x6b
jne 0x686b02
movzx ebx, byte [edi + 2]
jmp 0x686b05
mov ebx, dword [edi + 2]
push 0x986b04
mov ecx, esi
call fcn.00688220
push dword [ebp - 0x10]
mov ecx, esi
call fcn.006883b0
push 0x923574
mov ecx, esi
call fcn.00688220
push dword [ebp - 0xc]
mov ecx, esi
call fcn.006883b0
push 0x923574
mov ecx, esi
call fcn.00688220
push ebx
mov ecx, esi
call fcn.006883f0
cmp byte [edi], 0x6b
mov eax, 4
mov ecx, 1
cmove eax, ecx
add edi, 2
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov bl, byte [edi + 1]
mov al, bl
and al, 0xc0
cmp al, 0xc0
jne 0x686bbb
test bl, 0x38
jne 0x686bbb
push 0x986d10
mov ecx, esi
call fcn.00688220
movzx eax, bl
mov ecx, esi
and eax, 7
push eax
call fcn.006883b0
push 0x923574
mov ecx, esi
call fcn.00688220
movzx eax, byte [edi + 2]
mov ecx, esi
push eax
call fcn.006883f0
add edi, 3
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986d10
mov ecx, esi
inc edi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
mov ecx, dword [ebp - 8]
add edi, eax
push 0x923574
movzx esi, byte [edi]
call fcn.00688220
mov ecx, dword [ebp - 8]
push esi
call fcn.006883f0
inc edi
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push edi
mov ecx, esi
call fcn.00688460
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov bh, byte [edi + 1]
mov byte [ebp - 0xc], bh
mov edx, dword [ebp - 0xc]
push edx
call fcn.00685a00
add esp, 4
mov ecx, eax
cmp bh, 0xa2
je 0x687113
cmp bh, 0x31
je 0x687113
mov al, bh
and al, 0xf0
cmp al, 0x80
jne 0x686c62
push dword [ebp - 0x10]
mov ecx, esi
push edi
call fcn.00687e30
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bh, 0xbe
je 0x6870f5
cmp bh, 0xbf
je 0x6870f5
cmp bh, 0xb6
je 0x6870f5
cmp bh, 0xb7
je 0x6870f5
cmp bh, 0xaf
je 0x6870f5
cmp bh, 0xbd
je 0x6870f5
cmp bh, 0x57
jne 0x686cf1
mov bl, byte [edi + 2]
add edi, 2
push ecx
mov ecx, esi
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
movzx eax, bl
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.00688a40
push 0x923574
mov ecx, esi
call fcn.00688220
push fcn.00688a40
push edi
mov ecx, esi
call fcn.006886b0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bh, 0xb1
jne 0x686d14
add edi, 2
push edi
push 2
push ecx
mov ecx, esi
call fcn.006885d0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x90
jne 0x686d30
push edi
mov ecx, esi
call fcn.00688be0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x40
jne 0x686d4c
push edi
mov ecx, esi
call fcn.00685390
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bh, 0x2f
jne 0x686d9e
mov bl, byte [edi + 2]
mov ecx, esi
push 0x986d18
call fcn.00688220
movzx esi, bl
mov ebx, dword [ebp - 8]
mov eax, esi
shr eax, 3
mov ecx, ebx
and eax, 7
push eax
call fcn.00688a40
push 0x923574
mov ecx, ebx
call fcn.00688220
and esi, 7
mov ecx, ebx
push esi
call fcn.00688a40
add edi, 3
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bh, 0x1f
jne 0x686ed0
mov al, byte [edi + 2]
test al, al
jne 0x686dcb
push 0x9866b0
mov ecx, esi
call fcn.00688220
add edi, 3
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x40
jne 0x686df2
cmp byte [edi + 3], 0
jne 0x686df2
push 0x9866b0
mov ecx, esi
call fcn.00688220
add edi, 4
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x44
jne 0x686e1f
cmp byte [edi + 3], 0
jne 0x686e1f
cmp byte [edi + 4], 0
jne 0x686e1f
push 0x9866b0
mov ecx, esi
call fcn.00688220
add edi, 5
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x80
jne 0x686e58
cmp byte [edi + 3], 0
jne 0x686e58
cmp byte [edi + 4], 0
jne 0x686e58
cmp byte [edi + 5], 0
jne 0x686e58
cmp byte [edi + 6], 0
jne 0x686e58
push 0x9866b0
mov ecx, esi
call fcn.00688220
add edi, 7
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x84
jne 0x686e97
cmp byte [edi + 3], 0
jne 0x686e97
cmp byte [edi + 4], 0
jne 0x686e97
cmp byte [edi + 5], 0
jne 0x686e97
cmp byte [edi + 6], 0
jne 0x686e97
cmp byte [edi + 7], 0
jne 0x686e97
push 0x9866b0
mov ecx, esi
call fcn.00688220
add edi, 8
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x5b0
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
add edi, 2
cmp bh, 0xab
je 0x687057
cmp bh, 0xa4
je 0x687057
cmp bh, 0xa5
je 0x687057
cmp bh, 0xac
je 0x687057
cmp bh, 0xad
je 0x687057
cmp bh, 0xa3
je 0x687057
cmp bh, 0x10
je 0x68703c
cmp bh, 0x11
je 0x68703c
push edx
call fcn.00687dd0
add esp, 4
test al, al
jne 0x68703c
cmp bh, 0x50
jne 0x686f77
push 0x986d24
mov ecx, esi
call fcn.00688220
movzx eax, byte [edi]
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.006883b0
push 0x923574
mov ecx, esi
call fcn.00688220
push fcn.00688a40
push edi
mov ecx, esi
call fcn.006886b0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp bh, 0xc2
je 0x686fc1
cmp bh, 0xc6
je 0x686fba
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x5e1
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986d38
jmp 0x686fc6
push 0x986d30
mov ecx, esi
call fcn.00688220
push 0x90f344
mov bl, byte [edi]
mov ecx, esi
call fcn.00688220
movzx eax, bl
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.00688a40
push 0x923574
mov ecx, esi
call fcn.00688220
push fcn.00688a40
push edi
mov ecx, esi
call fcn.006886b0
mov ebx, dword [ebp - 8]
add edi, eax
push 0x97af78
mov ecx, ebx
movzx esi, byte [edi]
call fcn.00688220
push esi
mov ecx, ebx
call fcn.006883f0
push 0x949da4
mov ecx, ebx
call fcn.00688220
inc edi
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
push edx
push 0xf
mov ecx, esi
call fcn.00688a80
mov edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, esi
call fcn.00688220
mov bl, byte [edi]
mov ecx, esi
push 0x90f344
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
push 0x923574
mov ecx, esi
add edi, eax
call fcn.00688220
movzx eax, bl
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.006883b0
cmp bh, 0xab
je 0x687be9
cmp bh, 0xa3
je 0x687be9
cmp bh, 0xa5
je 0x6870db
cmp bh, 0xad
je 0x6870db
push 0x90ed94
mov ecx, esi
call fcn.00688220
movzx eax, byte [edi]
mov ecx, esi
push eax
inc edi
call fcn.006883f0
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986d20
mov ecx, esi
call fcn.00688220
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
add edi, 2
push edi
push 1
push ecx
mov ecx, esi
call fcn.006885d0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, esi
call fcn.00688220
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc edi
test byte [edi], 0x38
jne 0x687be9
push 0x986d40
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movzx eax, byte [edi + 1]
inc edi
shr eax, 3
and eax, 7
cmp eax, 6
ja case.0x68716f.3
jmp dword [eax*4 + 0x687d4c]
mov eax, 0x986840
jmp 0x68719e
mov eax, 0x986838
jmp 0x68719e
mov eax, 0x98683c
jmp 0x68719e
mov eax, 0x949f88
jmp 0x68719e
mov eax, 0x9866f4
jmp 0x68719e
mov eax, 0x986d48
push eax
mov ecx, esi
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc edi
mov ecx, 0x98669c
cmp bl, 0xc6
mov eax, 0x986694
cmovne eax, ecx
mov ecx, esi
push eax
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
add edi, eax
cmp bl, 0xc6
jne 0x68720d
movzx eax, byte [edi]
jmp 0x68720f
mov eax, dword [edi]
push 0x923574
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.00688220
push dword [ebp - 0x10]
mov ecx, esi
call fcn.006883f0
cmp bl, 0xc6
mov eax, 4
mov ecx, 1
cmove eax, ecx
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986d54
mov ecx, esi
inc edi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
mov ecx, dword [ebp - 8]
add edi, eax
push 0x923574
movzx esi, byte [edi]
call fcn.00688220
mov ecx, dword [ebp - 8]
push esi
call fcn.006883f0
inc edi
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov bl, byte [edi + 1]
inc edi
cmp byte [ebp - 0xc], 0x88
mov ecx, 0x98669c
mov eax, 0x986694
cmovne eax, ecx
mov ecx, esi
push eax
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
push 0x923574
mov ecx, esi
add edi, eax
call fcn.00688220
movzx eax, bl
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.006883b0
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov al, byte [edi + 1]
inc edi
cmp al, 0x8b
jne 0x687317
inc edi
mov ecx, esi
push edi
push 1
push 0x986d5c
call fcn.006885d0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x89
jne 0x687365
mov bl, byte [edi + 1]
inc edi
push 0x986d64
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
push 0x923574
mov ecx, esi
add edi, eax
call fcn.00688220
movzx eax, bl
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.006883b0
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0xf
jne 0x68770b
mov al, byte [edi + 1]
inc edi
cmp al, 0x6e
jne 0x6873c2
mov bl, byte [edi + 1]
mov ecx, esi
push 0x986d6c
call fcn.00688220
movzx esi, bl
mov ebx, dword [ebp - 8]
mov eax, esi
shr eax, 3
mov ecx, ebx
and eax, 7
push eax
call fcn.00688a40
push 0x923574
mov ecx, ebx
call fcn.00688220
and esi, 7
mov ecx, ebx
push esi
call fcn.006883b0
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x7e
jne 0x687413
mov bl, byte [edi + 1]
mov ecx, esi
push 0x986d6c
call fcn.00688220
movzx esi, bl
mov ebx, dword [ebp - 8]
mov eax, esi
and eax, 7
mov ecx, ebx
push eax
call fcn.006883b0
push 0x923574
mov ecx, ebx
call fcn.00688220
shr esi, 3
mov ecx, ebx
and esi, 7
push esi
call fcn.00688a40
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0xd6
jne 0x687461
mov bl, byte [edi + 1]
inc edi
push 0x986ad0
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
push 0x923574
mov ecx, esi
add edi, eax
call fcn.00688220
movzx eax, bl
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.00688a40
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x57
je 0x6876f3
cmp al, 0x56
je 0x6876f3
cmp al, 0x54
je 0x6876f3
cmp al, 0x1f
jne 0x6874ac
cmp byte [edi + 1], 0x44
jne 0x6874ac
cmp byte [edi + 2], 0
jne 0x6874ac
cmp byte [edi + 3], 0
jne 0x6874ac
push 0x9866b0
mov ecx, esi
add edi, 4
call fcn.00688220
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x50
jne 0x6874c2
push 0x986d74
mov ecx, esi
call fcn.00688220
inc edi
jmp 0x686f3d
cmp al, 0x3a
jne 0x68752f
cmp byte [edi + 1], 0x16
jne 0x68752f
push 0x986d80
mov ecx, esi
call fcn.00688220
movzx esi, byte [edi + 2]
mov ebx, dword [ebp - 8]
mov eax, esi
and eax, 7
mov ecx, ebx
push eax
call fcn.006883b0
push 0x923574
mov ecx, ebx
call fcn.00688220
shr esi, 3
mov ecx, ebx
and esi, 7
push esi
call fcn.00688a40
push 0x923574
mov ecx, ebx
call fcn.00688220
movzx eax, byte [edi + 3]
mov ecx, ebx
push eax
call fcn.006883f0
add edi, 4
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x38
jne 0x68754b
push edi
mov ecx, esi
call fcn.00688070
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0xef
jne 0x68755c
mov bl, byte [edi + 1]
push 0x986d88
jmp 0x6876ae
cmp al, 0x3a
jne 0x68760b
inc edi
cmp byte [edi], 0xb
jne 0x6875d2
mov bl, byte [edi + 1]
mov ecx, esi
push 0x986d90
call fcn.00688220
movzx esi, bl
mov ebx, dword [ebp - 8]
mov eax, esi
shr eax, 3
mov ecx, ebx
and eax, 7
push eax
call fcn.00688a40
push 0x90ed94
mov ecx, ebx
call fcn.00688220
and esi, 7
mov ecx, ebx
push esi
call fcn.00688a40
push 0x90ed94
mov ecx, ebx
call fcn.00688220
movzx eax, byte [edi + 2]
mov ecx, ebx
and eax, 3
push eax
call fcn.006883f0
add edi, 3
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x68d
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x14
jne 0x68761c
mov bl, byte [edi + 1]
push 0x986d9c
jmp 0x6876ae
cmp al, 0x15
jne 0x68762d
mov bl, byte [edi + 1]
push 0x986da8
jmp 0x6876ae
cmp al, 0xfe
je 0x6876a1
cmp al, 0xfa
je 0x6876a1
cmp al, 0x2f
je 0x6876a1
cmp al, 0x58
je 0x6876a1
cmp al, 0x5c
je 0x6876a1
cmp al, 0x59
je 0x6876a1
cmp al, 0x5e
je 0x6876a1
cmp al, 0x5d
je 0x6876a1
cmp al, 0x5f
je 0x6876a1
cmp al, 0x51
je 0x6876a1
cmp al, 0x5a
je 0x6876a1
cmp al, 0xc6
jne 0x687668
inc edi
push 0x986db4
jmp 0x686fd2
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x6b9
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov bl, byte [edi + 1]
push eax
call fcn.00688190
add esp, 4
push eax
mov ecx, esi
call fcn.00688220
movzx esi, bl
mov ebx, dword [ebp - 8]
mov eax, esi
shr eax, 3
mov ecx, ebx
and eax, 7
push eax
call fcn.00688a40
push 0x923574
mov ecx, ebx
call fcn.00688220
and esi, 7
mov ecx, ebx
push esi
call fcn.00688a40
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00685280
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x3b
jne 0x687756
push 0x986dbc
mov ecx, esi
inc edi
call fcn.00688220
movzx eax, byte [edi]
mov ecx, esi
shr eax, 3
and eax, 7
push eax
call fcn.006883b0
push 0x923574
mov ecx, esi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x81
je 0x68780b
cmp al, 0x83
je 0x68780b
cmp al, 0xc7
jne 0x6877b3
push 0x986d64
mov ecx, esi
inc edi
call fcn.00688220
push fcn.006883b0
push edi
mov ecx, esi
call fcn.006886b0
mov ecx, dword [ebp - 8]
add edi, eax
push 0x923574
movzx esi, word [edi]
call fcn.00688220
mov ecx, dword [ebp - 8]
movsx eax, si
push eax
call fcn.006883f0
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp al, 0x90
jne 0x6877d2
push 0x9866b0
mov ecx, esi
inc edi
call fcn.00688220
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x6d1
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 1
push edi
mov ecx, esi
call fcn.00688460
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov bl, byte [edi + 1]
mov al, bl
and al, 0xc0
cmp al, 0xc0
jne 0x687863
mov al, bl
and al, 0x38
cmp al, 8
jne 0x687863
push 0x986dc4
mov ecx, esi
call fcn.00688220
movzx eax, bl
mov ecx, esi
and eax, 7
push eax
call fcn.006883b0
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x6dd
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986dcc
mov ecx, esi
call fcn.00688220
push dword [edi + 1]
mov ecx, esi
call fcn.006883f0
add edi, 5
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986dcc
mov ecx, esi
call fcn.00688220
movsx eax, byte [edi + 1]
mov ecx, esi
push eax
call fcn.006883f0
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986dd4
mov ecx, esi
call fcn.00688220
movzx eax, byte [edi + 1]
mov ecx, esi
push eax
call fcn.006883f0
add edi, 2
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x986de0
mov ecx, esi
call fcn.00688220
push dword [edi + 1]
mov ecx, esi
call fcn.006883f0
push edi
mov ecx, esi
call fcn.00685400
add edi, 5
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.006854b0
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00686250
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00688010
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00685c50
mov edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [edi + 1], 0xf
jne 0x687b4a
mov cl, byte [edi + 2]
mov byte [ebp - 1], cl
cmp cl, 0x11
jne 0x6879d8
push 0x986dec
mov ecx, esi
call fcn.00688220
mov bl, byte [edi + 3]
add edi, 3
push fcn.00688a40
jmp 0x68742c
cmp cl, 0x10
jne 0x6879fe
mov bl, byte [edi + 3]
add edi, 3
push 0x986dec
mov ecx, esi
call fcn.00688220
movzx eax, bl
shr eax, 3
and eax, 7
push eax
jmp 0x687abd
movzx eax, cl
mov ebx, 0x986df4
add eax, 0xffffffd6
cmp eax, 0x34
ja case.0x687a15.43
movzx eax, byte [eax + 0x687d90]
jmp dword [eax*4 + 0x687d68]
mov ebx, 0x986dfc
jmp 0x687a89
mov ebx, 0x986e08
jmp 0x687a89
mov ebx, 0x986e14
jmp 0x687a89
mov ebx, 0x986e1c
jmp 0x687a89
mov ebx, 0x986e24
jmp 0x687a89
mov ebx, 0x986e2c
jmp 0x687a89
mov ebx, 0x986e34
jmp 0x687a89
mov ebx, 0x986e40
jmp 0x687a89
mov ebx, 0x986e48
jmp 0x687a89
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x744
mov dword [ebp - 0x14], 0
call fcn.004b3c30
mov cl, byte [ebp - 1]
add esp, 0xc
movzx edx, byte [edi + 3]
add edi, 3
mov eax, edx
and edx, 7
shr eax, 3
and eax, 7
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], eax
cmp cl, 0x2a
jne 0x687ada
push ebx
mov ecx, esi
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
push dword [ebp - 0x10]
mov ecx, esi
call fcn.00688a40
push 0x923574
mov ecx, esi
call fcn.00688220
push fcn.006883b0
jmp 0x686f5f
cmp cl, 0x2d
je 0x687b07
cmp cl, 0x2c
je 0x687b07
push ebx
mov ecx, esi
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
push dword [ebp - 0x10]
mov ecx, esi
call fcn.00688a40
jmp 0x686f4e
push ebx
mov ecx, esi
call fcn.00688220
push 0x90f344
mov ecx, esi
call fcn.00688220
push dword [ebp - 0x10]
mov ecx, esi
call fcn.006883b0
push 0x923574
mov ecx, esi
call fcn.00688220
push dword [ebp - 0xc]
mov ecx, esi
call fcn.00688a40
inc edi
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x75f
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0xc
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00686060
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, esi
call fcn.00685640
add edi, eax
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
push 0x986e50
call fcn.004b7100
push str.unimplemented_code
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x9869d8
push 0x70436c
push eax
mov dword [ebp - 0x18], 0x76d
mov dword [ebp - 0x14], 0
call fcn.004b3c30
add esp, 0x14
sub edi, dword [ebp + 8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4