Function at 0x55a400
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 0x55b1de
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
movsx eax, al
push eax
call fcn.005c35f1
add esp, 4
test eax, eax
je 0x55a472
movsx ecx, byte [esi]
push ecx
call fcn.005c35f1
add esp, 4
test eax, eax
je 0x55a46c
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.005c35f1
add esp, 4
test eax, eax
jne 0x55a45a
inc ebp
jmp case.0x55a4a8.54
mov al, byte [ebp]
cmp al, 0x25
je 0x55a48a
mov cl, byte [esi]
inc esi
inc ebp
cmp al, cl
jne case.0x55ade9.81
jmp case.0x55a4a8.54
inc ebp
movsx eax, byte [ebp]
sub eax, 0x25
inc ebp
cmp eax, 0x54
mov dword [esp + 0x2c], ebp
ja case.0x55ade9.81
xor edx, edx
mov dl, byte [eax + 0x55b26c]
jmp dword [edx*4 + 0x55b1f0]
mov al, byte [ebp]
cmp al, 0x63
je 0x55a48b
cmp al, 0x43
je 0x55a48b
cmp al, 0x79
je 0x55a48b
cmp al, 0x59
je 0x55a48b
cmp al, 0x78
je 0x55a48b
cmp al, 0x58
jne case.0x55ade9.81
jmp 0x55a48b
mov al, byte [esi]
inc esi
cmp al, 0x25
jne case.0x55ade9.81
jmp case.0x55a4a8.54
mov dword [esp + 0x28], 0
mov ebp, 0x639870
mov ebx, 0x639828
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.005c6820
add esp, 0xc
test eax, eax
je 0x55a541
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.005c6820
add esp, 0xc
test eax, eax
je 0x55a551
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x63986e
mov dword [esp + 0x28], edi
jge 0x55a568
jmp 0x55a4f2
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea edi, [ecx*2 + 0x639828]
jmp 0x55a55c
mov edx, dword [esp + 0x28]
lea edi, [edx*4 + 0x639870]
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.0x55ade9.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.0x55a4a8.54
mov dword [esp + 0x28], 0
mov ebp, 0x639904
mov ebx, 0x63988c
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.005c6820
add esp, 0xc
test eax, eax
je 0x55a5ec
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.005c6820
add esp, 0xc
test eax, eax
je 0x55a5fc
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x639904
mov dword [esp + 0x28], edi
jge 0x55a613
jmp 0x55a59d
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
lea edi, [edx*2 + 0x63988c]
jmp 0x55a607
mov eax, dword [esp + 0x28]
lea edi, [eax*4 + 0x639904]
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.0x55ade9.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.0x55a4a8.54
mov al, byte [str._a__b__e__H:_M:_S__Y]
test al, al
je case.0x55ade9.81
push edi
push str._a__b__e__H:_M:_S__Y
jmp 0x55ab18
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55a665
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a65c
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a69f
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55a69f
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a69f
cmp cl, 0x39
jle 0x55a679
cmp eax, 0x63
ja case.0x55ade9.81
mov dword [esp + 0x20], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55a6c8
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a6bf
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a702
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x55a702
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a702
cmp cl, 0x39
jle 0x55a6dc
cmp eax, 1
jb case.0x55ade9.81
cmp eax, 0x1f
ja case.0x55ade9.81
mov dword [edi + 0xc], eax
jmp case.0x55a4a8.54
mov al, byte [str._Y__m__d]
test al, al
je case.0x55ade9.81
push edi
push str._Y__m__d
jmp 0x55ab18
mov al, byte [str._m__d__y]
test al, al
je case.0x55ade9.81
push edi
push str._m__d__y
jmp 0x55ab18
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55a763
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a75a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a79d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x55a79d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a79d
cmp cl, 0x39
jle 0x55a777
cmp eax, 0x17
ja case.0x55ade9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55a7cd
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a7c4
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a807
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55a807
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a807
cmp cl, 0x39
jle 0x55a7e1
cmp eax, 1
jb case.0x55ade9.81
cmp eax, 0xc
ja case.0x55ade9.81
xor edx, edx
mov ecx, 0xc
div ecx
mov dword [esp + 0x10], 1
mov dword [edi + 8], edx
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 3
jne 0x55a849
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a840
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a886
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x16e
ja 0x55a886
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a886
cmp cl, 0x39
jle 0x55a85d
cmp eax, 1
jb case.0x55ade9.81
cmp eax, 0x16e
ja case.0x55ade9.81
dec eax
mov dword [edi + 0x1c], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55a8ba
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a8b1
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a8f4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55a8f4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a8f4
cmp cl, 0x39
jle 0x55a8ce
cmp eax, 1
jb case.0x55ade9.81
cmp eax, 0xc
ja case.0x55ade9.81
dec eax
mov dword [edi + 0x10], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55a926
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55a91d
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a960
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x55a960
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a960
cmp cl, 0x39
jle 0x55a93a
cmp eax, 0x3b
ja case.0x55ade9.81
mov dword [edi + 4], eax
jmp case.0x55a4a8.54
movsx edx, byte [esi]
push edx
call fcn.005c35f1
add esp, 4
test eax, eax
je case.0x55a4a8.54
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.005c35f1
add esp, 4
test eax, eax
jne 0x55a985
jmp case.0x55a4a8.54
mov edi, 0x6bda78
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6bda78
call fcn.005c6820
add esp, 0xc
test eax, eax
jne 0x55a9de
mov edi, 0x6bda78
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.0x55a4a8.54
mov edi, 0x6bda74
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6bda74
call fcn.005c6820
add esp, 0xc
test eax, eax
jne case.0x55ade9.81
mov edi, 0x6bda74
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.0x55a4a8.54
mov al, byte [str._I:_M:_S__p]
test al, al
je case.0x55ade9.81
push edi
push str._I:_M:_S__p
jmp 0x55ab18
mov al, byte [str._H:_M]
test al, al
je case.0x55ade9.81
push edi
push str._H:_M
jmp 0x55ab18
mov al, byte [esi]
xor ecx, ecx
cmp al, 0x30
jl case.0x55ade9.81
cmp al, 0x39
jg case.0x55ade9.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 0x55aa85
cmp al, 0x39
jle 0x55aa70
lea eax, [esp + 0x2c]
push edi
push eax
mov dword [esp + 0x34], ecx
call fcn.0055a3d0
add esp, 8
test eax, eax
je case.0x55ade9.81
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55aabb
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55aab2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55aaf5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x55aaf5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55aaf5
cmp cl, 0x39
jle 0x55aacf
cmp eax, 0x3d
ja case.0x55ade9.81
mov dword [edi], eax
jmp case.0x55a4a8.54
mov al, byte [str._H:_M:_S]
test al, al
je case.0x55ade9.81
push edi
push str._H:_M:_S
push esi
mov ecx, ebx
call fcn.0055a400
mov esi, eax
test esi, esi
je case.0x55ade9.81
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55ab46
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ab3d
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ab80
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 7
ja 0x55ab80
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ab80
cmp cl, 0x39
jle 0x55ab5a
cmp eax, 1
jb case.0x55ade9.81
cmp eax, 7
ja case.0x55ade9.81
xor edx, edx
mov ecx, 7
div ecx
mov dword [edi + 0x18], edx
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55abba
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55abb1
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55abf4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55abf4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55abf4
cmp cl, 0x39
jle 0x55abce
cmp eax, 0x63
ja case.0x55ade9.81
jmp case.0x55a4a8.54
mov al, byte [esi]
cmp al, 0x30
jl case.0x55ade9.81
cmp al, 0x39
jg case.0x55ade9.81
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jl case.0x55a4a8.54
cmp al, 0x39
jle 0x55ac14
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ac40
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ac37
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ac7a
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x55ac7a
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ac7a
cmp cl, 0x39
jle 0x55ac54
cmp eax, 0x35
ja case.0x55ade9.81
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55ac9f
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ac96
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55acd9
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x55acd9
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55acd9
cmp cl, 0x39
jle 0x55acb3
cmp eax, 6
ja case.0x55ade9.81
mov dword [edi + 0x18], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ad01
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55acf8
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ad3b
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55ad3b
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ad3b
cmp cl, 0x39
jle 0x55ad15
cmp eax, 0x63
ja case.0x55ade9.81
cmp eax, 0x45
jae 0x55ad4c
add eax, 0x64
mov dword [edi + 0x14], eax
mov dword [esp + 0x18], 1
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 4
jne 0x55ad73
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ad6a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55adb0
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x270f
ja 0x55adb0
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55adb0
cmp cl, 0x39
jle 0x55ad87
cmp eax, 0x270f
ja case.0x55ade9.81
add eax, 0xfffff894
mov dword [esp + 0x18], 0
mov dword [edi + 0x14], eax
jmp case.0x55a4a8.54
movsx eax, byte [ebp]
sub eax, 0x48
inc ebp
cmp eax, 0x31
ja case.0x55ade9.81
xor edx, edx
mov dl, byte [eax + 0x55b2ec]
jmp dword [edx*4 + 0x55b2c4]
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ae07
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55adfe
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a702
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x55a702
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a702
cmp cl, 0x39
jle 0x55ae1b
jmp 0x55a702
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ae69
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ae60
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55aea3
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x55aea3
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55aea3
cmp cl, 0x39
jle 0x55ae7d
cmp eax, 0x17
ja case.0x55ade9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55aed3
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55aeca
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55af0d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55af0d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55af0d
cmp cl, 0x39
jle 0x55aee7
cmp eax, 1
jb case.0x55ade9.81
cmp eax, 0xc
ja case.0x55ade9.81
dec eax
mov dword [esp + 0x10], 1
mov dword [edi + 8], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55af47
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55af3e
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55a8f4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55a8f4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55a8f4
cmp cl, 0x39
jle 0x55af5b
jmp 0x55a8f4
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55afa9
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55afa0
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55afe3
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x55afe3
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55afe3
cmp cl, 0x39
jle 0x55afbd
cmp eax, 0x3b
ja case.0x55ade9.81
mov dword [edi + 4], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55b00b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55b002
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55b045
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x55b045
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55b045
cmp cl, 0x39
jle 0x55b01f
cmp eax, 0x3d
ja case.0x55ade9.81
mov dword [edi], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55b06c
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55b063
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55b0a6
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x55b0a6
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55b0a6
cmp cl, 0x39
jle 0x55b080
cmp eax, 0x35
ja case.0x55ade9.81
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55b0cb
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55b0c2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55b105
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x55b105
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55b105
cmp cl, 0x39
jle 0x55b0df
cmp eax, 6
ja case.0x55ade9.81
mov dword [edi + 0x18], eax
jmp case.0x55a4a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55b126
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55b11d
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55ade9.81
cmp cl, 0x39
jg case.0x55ade9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55b158
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55b158
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55b158
cmp cl, 0x39
jle 0x55b132
cmp eax, 0x63
ja case.0x55ade9.81
cmp eax, 0x45
jae 0x55b165
add eax, 0x64
mov dword [edi + 0x14], eax
mov al, byte [ebp]
test al, al
je 0x55b180
jmp 0x55a43a
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 0x55b194
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x55b194
add dword [edi + 8], 0xc
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x55b1e2
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4 - 0x5f]
test ecx, ecx
je 0x55b1c9
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