Function at 0x55bfc0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
mov al, byte [ebp]
mov ebx, ecx
push esi
test al, al
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], 0xffffffff
je 0x55cd9e
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
movsx eax, al
push eax
call fcn.005c5221
add esp, 4
test eax, eax
je 0x55c032
movsx ecx, byte [esi]
push ecx
call fcn.005c5221
add esp, 4
test eax, eax
je 0x55c02c
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.005c5221
add esp, 4
test eax, eax
jne 0x55c01a
inc ebp
jmp case.0x55c068.54
mov al, byte [ebp]
cmp al, 0x25
je 0x55c04a
mov cl, byte [esi]
inc esi
inc ebp
cmp al, cl
jne case.0x55c9a9.81
jmp case.0x55c068.54
inc ebp
movsx eax, byte [ebp]
sub eax, 0x25
inc ebp
cmp eax, 0x54
mov dword [esp + 0x2c], ebp
ja case.0x55c9a9.81
xor edx, edx
mov dl, byte [eax + 0x55ce2c]
jmp dword [edx*4 + 0x55cdb0]
mov al, byte [ebp]
cmp al, 0x63
je 0x55c04b
cmp al, 0x43
je 0x55c04b
cmp al, 0x79
je 0x55c04b
cmp al, 0x59
je 0x55c04b
cmp al, 0x78
je 0x55c04b
cmp al, 0x58
jne case.0x55c9a9.81
jmp 0x55c04b
mov al, byte [esi]
inc esi
cmp al, 0x25
jne case.0x55c9a9.81
jmp case.0x55c068.54
mov dword [esp + 0x28], 0
mov ebp, 0x63b870
mov ebx, 0x63b828
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call fcn.005c8450
add esp, 0xc
test eax, eax
je 0x55c101
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebp
call fcn.005c8450
add esp, 0xc
test eax, eax
je 0x55c111
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x63b86e
mov dword [esp + 0x28], edi
jge 0x55c128
jmp 0x55c0b2
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea edi, [ecx*2 + 0x63b828]
jmp 0x55c11c
mov edx, dword [esp + 0x28]
lea edi, [edx*4 + 0x63b870]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
mov eax, dword [esp + 0x28]
cmp eax, 7
je case.0x55c9a9.81
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov edi, ecx
mov dword [ecx + 0x18], eax
jmp case.0x55c068.54
mov dword [esp + 0x28], 0
mov ebp, 0x63b904
mov ebx, 0x63b88c
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call fcn.005c8450
add esp, 0xc
test eax, eax
je 0x55c1ac
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebp
call fcn.005c8450
add esp, 0xc
test eax, eax
je 0x55c1bc
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x63b904
mov dword [esp + 0x28], edi
jge 0x55c1d3
jmp 0x55c15d
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
lea edi, [edx*2 + 0x63b88c]
jmp 0x55c1c7
mov eax, dword [esp + 0x28]
lea edi, [eax*4 + 0x63b904]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, ecx
mov eax, dword [esp + 0x28]
cmp eax, 0xc
je case.0x55c9a9.81
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov edi, ecx
mov dword [ecx + 0x10], eax
jmp case.0x55c068.54
mov al, byte [str._a__b__e__H:_M:_S__Y]
test al, al
je case.0x55c9a9.81
push edi
push str._a__b__e__H:_M:_S__Y
jmp 0x55c6d8
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c225
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c21c
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c25f
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55c25f
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c25f
cmp cl, 0x39
jle 0x55c239
cmp eax, 0x63
ja case.0x55c9a9.81
mov dword [esp + 0x20], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c288
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c27f
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c2c2
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x55c2c2
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c2c2
cmp cl, 0x39
jle 0x55c29c
cmp eax, 1
jb case.0x55c9a9.81
cmp eax, 0x1f
ja case.0x55c9a9.81
mov dword [edi + 0xc], eax
jmp case.0x55c068.54
mov al, byte [str._Y__m__d]
test al, al
je case.0x55c9a9.81
push edi
push str._Y__m__d
jmp 0x55c6d8
mov al, byte [str._m__d__y]
test al, al
je case.0x55c9a9.81
push edi
push str._m__d__y
jmp 0x55c6d8
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c323
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c31a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c35d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x55c35d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c35d
cmp cl, 0x39
jle 0x55c337
cmp eax, 0x17
ja case.0x55c9a9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c38d
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c384
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c3c7
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55c3c7
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c3c7
cmp cl, 0x39
jle 0x55c3a1
cmp eax, 1
jb case.0x55c9a9.81
cmp eax, 0xc
ja case.0x55c9a9.81
xor edx, edx
mov ecx, 0xc
div ecx
mov dword [esp + 0x10], 1
mov dword [edi + 8], edx
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 3
jne 0x55c409
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c400
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c446
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x16e
ja 0x55c446
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c446
cmp cl, 0x39
jle 0x55c41d
cmp eax, 1
jb case.0x55c9a9.81
cmp eax, 0x16e
ja case.0x55c9a9.81
dec eax
mov dword [edi + 0x1c], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c47a
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c471
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c4b4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55c4b4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c4b4
cmp cl, 0x39
jle 0x55c48e
cmp eax, 1
jb case.0x55c9a9.81
cmp eax, 0xc
ja case.0x55c9a9.81
dec eax
mov dword [edi + 0x10], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c4e6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c4dd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c520
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x55c520
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c520
cmp cl, 0x39
jle 0x55c4fa
cmp eax, 0x3b
ja case.0x55c9a9.81
mov dword [edi + 4], eax
jmp case.0x55c068.54
movsx edx, byte [esi]
push edx
call fcn.005c5221
add esp, 4
test eax, eax
je case.0x55c068.54
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.005c5221
add esp, 4
test eax, eax
jne 0x55c545
jmp case.0x55c068.54
mov edi, 0x6bfa80
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6bfa80
call fcn.005c8450
add esp, 0xc
test eax, eax
jne 0x55c59e
mov edi, 0x6bfa80
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
not ecx
dec ecx
add esi, ecx
jmp case.0x55c068.54
mov edi, 0x6bfa7c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6bfa7c
call fcn.005c8450
add esp, 0xc
test eax, eax
jne case.0x55c9a9.81
mov edi, 0x6bfa7c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x1c], 1
not ecx
dec ecx
add esi, ecx
jmp case.0x55c068.54
mov al, byte [str._I:_M:_S__p]
test al, al
je case.0x55c9a9.81
push edi
push str._I:_M:_S__p
jmp 0x55c6d8
mov al, byte [str._H:_M]
test al, al
je case.0x55c9a9.81
push edi
push str._H:_M
jmp 0x55c6d8
mov al, byte [esi]
xor ecx, ecx
cmp al, 0x30
jl case.0x55c9a9.81
cmp al, 0x39
jg case.0x55c9a9.81
inc esi
lea ecx, [ecx + ecx*4]
movsx edx, al
mov al, byte [esi]
cmp al, 0x30
lea ecx, [edx + ecx*2 - 0x30]
jl 0x55c645
cmp al, 0x39
jle 0x55c630
lea eax, [esp + 0x2c]
push edi
push eax
mov dword [esp + 0x34], ecx
call fcn.0055bf90
add esp, 8
test eax, eax
je case.0x55c9a9.81
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c67b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c672
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c6b5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x55c6b5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c6b5
cmp cl, 0x39
jle 0x55c68f
cmp eax, 0x3d
ja case.0x55c9a9.81
mov dword [edi], eax
jmp case.0x55c068.54
mov al, byte [str._H:_M:_S]
test al, al
je case.0x55c9a9.81
push edi
push str._H:_M:_S
push esi
mov ecx, ebx
call fcn.0055bfc0
mov esi, eax
test esi, esi
je case.0x55c9a9.81
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55c706
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c6fd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c740
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 7
ja 0x55c740
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c740
cmp cl, 0x39
jle 0x55c71a
cmp eax, 1
jb case.0x55c9a9.81
cmp eax, 7
ja case.0x55c9a9.81
xor edx, edx
mov ecx, 7
div ecx
mov dword [edi + 0x18], edx
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c77a
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c771
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c7b4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55c7b4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c7b4
cmp cl, 0x39
jle 0x55c78e
cmp eax, 0x63
ja case.0x55c9a9.81
jmp case.0x55c068.54
mov al, byte [esi]
cmp al, 0x30
jl case.0x55c9a9.81
cmp al, 0x39
jg case.0x55c9a9.81
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jl case.0x55c068.54
cmp al, 0x39
jle 0x55c7d4
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c800
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c7f7
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c83a
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x55c83a
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c83a
cmp cl, 0x39
jle 0x55c814
cmp eax, 0x35
ja case.0x55c9a9.81
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55c85f
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c856
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c899
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x55c899
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c899
cmp cl, 0x39
jle 0x55c873
cmp eax, 6
ja case.0x55c9a9.81
mov dword [edi + 0x18], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c8c1
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c8b8
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c8fb
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55c8fb
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c8fb
cmp cl, 0x39
jle 0x55c8d5
cmp eax, 0x63
ja case.0x55c9a9.81
cmp eax, 0x45
jae 0x55c90c
add eax, 0x64
mov dword [edi + 0x14], eax
mov dword [esp + 0x18], 1
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 4
jne 0x55c933
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c92a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c970
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x270f
ja 0x55c970
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c970
cmp cl, 0x39
jle 0x55c947
cmp eax, 0x270f
ja case.0x55c9a9.81
add eax, 0xfffff894
mov dword [esp + 0x18], 0
mov dword [edi + 0x14], eax
jmp case.0x55c068.54
movsx eax, byte [ebp]
sub eax, 0x48
inc ebp
cmp eax, 0x31
ja case.0x55c9a9.81
xor edx, edx
mov dl, byte [eax + 0x55ceac]
jmp dword [edx*4 + 0x55ce84]
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55c9c7
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55c9be
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c2c2
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x55c2c2
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c2c2
cmp cl, 0x39
jle 0x55c9db
jmp 0x55c2c2
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ca29
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ca20
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ca63
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x55ca63
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ca63
cmp cl, 0x39
jle 0x55ca3d
cmp eax, 0x17
ja case.0x55c9a9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ca93
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ca8a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55cacd
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55cacd
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55cacd
cmp cl, 0x39
jle 0x55caa7
cmp eax, 1
jb case.0x55c9a9.81
cmp eax, 0xc
ja case.0x55c9a9.81
dec eax
mov dword [esp + 0x10], 1
mov dword [edi + 8], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55cb07
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55cafe
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55c4b4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55c4b4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55c4b4
cmp cl, 0x39
jle 0x55cb1b
jmp 0x55c4b4
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55cb69
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55cb60
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55cba3
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x55cba3
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55cba3
cmp cl, 0x39
jle 0x55cb7d
cmp eax, 0x3b
ja case.0x55c9a9.81
mov dword [edi + 4], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55cbcb
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55cbc2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55cc05
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x55cc05
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55cc05
cmp cl, 0x39
jle 0x55cbdf
cmp eax, 0x3d
ja case.0x55c9a9.81
mov dword [edi], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55cc2c
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55cc23
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55cc66
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x55cc66
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55cc66
cmp cl, 0x39
jle 0x55cc40
cmp eax, 0x35
ja case.0x55c9a9.81
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55cc8b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55cc82
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ccc5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x55ccc5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ccc5
cmp cl, 0x39
jle 0x55cc9f
cmp eax, 6
ja case.0x55c9a9.81
mov dword [edi + 0x18], eax
jmp case.0x55c068.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55cce6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ccdd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55c9a9.81
cmp cl, 0x39
jg case.0x55c9a9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55cd18
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55cd18
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55cd18
cmp cl, 0x39
jle 0x55ccf2
cmp eax, 0x63
ja case.0x55c9a9.81
cmp eax, 0x45
jae 0x55cd25
add eax, 0x64
mov dword [edi + 0x14], eax
mov al, byte [ebp]
test al, al
je 0x55cd40
jmp 0x55bffa
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0xc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x55cd54
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x55cd54
add dword [edi + 8], 0xc
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x55cda2
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4 - 0x5f]
test ecx, ecx
je 0x55cd89
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x14]
cdq
mov ebx, 0x64
idiv ebx
mov eax, esi
lea edx, [edx + ecx*4]
mov dword [edi + 0x14], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc
lea eax, [eax + eax*4]
shl eax, 2
mov dword [edi + 0x14], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc
mov esi, dword [esp + 0x28]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0xc