Function at 0x55e2c0
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 0x55f09e
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
movsx eax, al
push eax
call fcn.005c7961
add esp, 4
test eax, eax
je 0x55e332
movsx ecx, byte [esi]
push ecx
call fcn.005c7961
add esp, 4
test eax, eax
je 0x55e32c
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.005c7961
add esp, 4
test eax, eax
jne 0x55e31a
inc ebp
jmp case.0x55e368.54
mov al, byte [ebp]
cmp al, 0x25
je 0x55e34a
mov cl, byte [esi]
inc esi
inc ebp
cmp al, cl
jne case.0x55eca9.81
jmp case.0x55e368.54
inc ebp
movsx eax, byte [ebp]
sub eax, 0x25
inc ebp
cmp eax, 0x54
mov dword [esp + 0x2c], ebp
ja case.0x55eca9.81
xor edx, edx
mov dl, byte [eax + 0x55f12c]
jmp dword [edx*4 + 0x55f0b0]
mov al, byte [ebp]
cmp al, 0x63
je 0x55e34b
cmp al, 0x43
je 0x55e34b
cmp al, 0x79
je 0x55e34b
cmp al, 0x59
je 0x55e34b
cmp al, 0x78
je 0x55e34b
cmp al, 0x58
jne case.0x55eca9.81
jmp 0x55e34b
mov al, byte [esi]
inc esi
cmp al, 0x25
jne case.0x55eca9.81
jmp case.0x55e368.54
mov dword [esp + 0x28], 0
mov ebp, 0x63d870
mov ebx, 0x63d828
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.005cab90
add esp, 0xc
test eax, eax
je 0x55e401
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.005cab90
add esp, 0xc
test eax, eax
je 0x55e411
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x63d86e
mov dword [esp + 0x28], edi
jge 0x55e428
jmp 0x55e3b2
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea edi, [ecx*2 + 0x63d828]
jmp 0x55e41c
mov edx, dword [esp + 0x28]
lea edi, [edx*4 + 0x63d870]
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.0x55eca9.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.0x55e368.54
mov dword [esp + 0x28], 0
mov ebp, 0x63d904
mov ebx, 0x63d88c
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.005cab90
add esp, 0xc
test eax, eax
je 0x55e4ac
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.005cab90
add esp, 0xc
test eax, eax
je 0x55e4bc
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x63d904
mov dword [esp + 0x28], edi
jge 0x55e4d3
jmp 0x55e45d
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
lea edi, [edx*2 + 0x63d88c]
jmp 0x55e4c7
mov eax, dword [esp + 0x28]
lea edi, [eax*4 + 0x63d904]
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.0x55eca9.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.0x55e368.54
mov al, byte [str._a__b__e__H:_M:_S__Y]
test al, al
je case.0x55eca9.81
push edi
push str._a__b__e__H:_M:_S__Y
jmp 0x55e9d8
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e525
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e51c
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e55f
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55e55f
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e55f
cmp cl, 0x39
jle 0x55e539
cmp eax, 0x63
ja case.0x55eca9.81
mov dword [esp + 0x20], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e588
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e57f
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e5c2
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x55e5c2
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e5c2
cmp cl, 0x39
jle 0x55e59c
cmp eax, 1
jb case.0x55eca9.81
cmp eax, 0x1f
ja case.0x55eca9.81
mov dword [edi + 0xc], eax
jmp case.0x55e368.54
mov al, byte [str._Y__m__d]
test al, al
je case.0x55eca9.81
push edi
push str._Y__m__d
jmp 0x55e9d8
mov al, byte [str._m__d__y]
test al, al
je case.0x55eca9.81
push edi
push str._m__d__y
jmp 0x55e9d8
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e623
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e61a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e65d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x55e65d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e65d
cmp cl, 0x39
jle 0x55e637
cmp eax, 0x17
ja case.0x55eca9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e68d
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e684
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e6c7
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55e6c7
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e6c7
cmp cl, 0x39
jle 0x55e6a1
cmp eax, 1
jb case.0x55eca9.81
cmp eax, 0xc
ja case.0x55eca9.81
xor edx, edx
mov ecx, 0xc
div ecx
mov dword [esp + 0x10], 1
mov dword [edi + 8], edx
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 3
jne 0x55e709
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e700
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e746
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x16e
ja 0x55e746
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e746
cmp cl, 0x39
jle 0x55e71d
cmp eax, 1
jb case.0x55eca9.81
cmp eax, 0x16e
ja case.0x55eca9.81
dec eax
mov dword [edi + 0x1c], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e77a
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e771
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e7b4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55e7b4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e7b4
cmp cl, 0x39
jle 0x55e78e
cmp eax, 1
jb case.0x55eca9.81
cmp eax, 0xc
ja case.0x55eca9.81
dec eax
mov dword [edi + 0x10], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e7e6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e7dd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e820
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x55e820
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e820
cmp cl, 0x39
jle 0x55e7fa
cmp eax, 0x3b
ja case.0x55eca9.81
mov dword [edi + 4], eax
jmp case.0x55e368.54
movsx edx, byte [esi]
push edx
call fcn.005c7961
add esp, 4
test eax, eax
je case.0x55e368.54
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.005c7961
add esp, 4
test eax, eax
jne 0x55e845
jmp case.0x55e368.54
mov edi, 0x6c1d6c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6c1d6c
call fcn.005cab90
add esp, 0xc
test eax, eax
jne 0x55e89e
mov edi, 0x6c1d6c
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.0x55e368.54
mov edi, 0x6c1d68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6c1d68
call fcn.005cab90
add esp, 0xc
test eax, eax
jne case.0x55eca9.81
mov edi, 0x6c1d68
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.0x55e368.54
mov al, byte [str._I:_M:_S__p]
test al, al
je case.0x55eca9.81
push edi
push str._I:_M:_S__p
jmp 0x55e9d8
mov al, byte [str._H:_M]
test al, al
je case.0x55eca9.81
push edi
push str._H:_M
jmp 0x55e9d8
mov al, byte [esi]
xor ecx, ecx
cmp al, 0x30
jl case.0x55eca9.81
cmp al, 0x39
jg case.0x55eca9.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 0x55e945
cmp al, 0x39
jle 0x55e930
lea eax, [esp + 0x2c]
push edi
push eax
mov dword [esp + 0x34], ecx
call fcn.0055e290
add esp, 8
test eax, eax
je case.0x55eca9.81
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55e97b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e972
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e9b5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x55e9b5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e9b5
cmp cl, 0x39
jle 0x55e98f
cmp eax, 0x3d
ja case.0x55eca9.81
mov dword [edi], eax
jmp case.0x55e368.54
mov al, byte [str._H:_M:_S]
test al, al
je case.0x55eca9.81
push edi
push str._H:_M:_S
push esi
mov ecx, ebx
call fcn.0055e2c0
mov esi, eax
test esi, esi
je case.0x55eca9.81
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55ea06
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55e9fd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ea40
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 7
ja 0x55ea40
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ea40
cmp cl, 0x39
jle 0x55ea1a
cmp eax, 1
jb case.0x55eca9.81
cmp eax, 7
ja case.0x55eca9.81
xor edx, edx
mov ecx, 7
div ecx
mov dword [edi + 0x18], edx
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ea7a
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ea71
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55eab4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55eab4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55eab4
cmp cl, 0x39
jle 0x55ea8e
cmp eax, 0x63
ja case.0x55eca9.81
jmp case.0x55e368.54
mov al, byte [esi]
cmp al, 0x30
jl case.0x55eca9.81
cmp al, 0x39
jg case.0x55eca9.81
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jl case.0x55e368.54
cmp al, 0x39
jle 0x55ead4
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55eb00
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55eaf7
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55eb3a
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x55eb3a
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55eb3a
cmp cl, 0x39
jle 0x55eb14
cmp eax, 0x35
ja case.0x55eca9.81
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55eb5f
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55eb56
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55eb99
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x55eb99
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55eb99
cmp cl, 0x39
jle 0x55eb73
cmp eax, 6
ja case.0x55eca9.81
mov dword [edi + 0x18], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ebc1
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ebb8
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ebfb
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55ebfb
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ebfb
cmp cl, 0x39
jle 0x55ebd5
cmp eax, 0x63
ja case.0x55eca9.81
cmp eax, 0x45
jae 0x55ec0c
add eax, 0x64
mov dword [edi + 0x14], eax
mov dword [esp + 0x18], 1
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 4
jne 0x55ec33
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ec2a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ec70
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x270f
ja 0x55ec70
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ec70
cmp cl, 0x39
jle 0x55ec47
cmp eax, 0x270f
ja case.0x55eca9.81
add eax, 0xfffff894
mov dword [esp + 0x18], 0
mov dword [edi + 0x14], eax
jmp case.0x55e368.54
movsx eax, byte [ebp]
sub eax, 0x48
inc ebp
cmp eax, 0x31
ja case.0x55eca9.81
xor edx, edx
mov dl, byte [eax + 0x55f1ac]
jmp dword [edx*4 + 0x55f184]
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ecc7
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ecbe
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e5c2
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x55e5c2
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e5c2
cmp cl, 0x39
jle 0x55ecdb
jmp 0x55e5c2
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ed29
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ed20
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ed63
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x55ed63
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ed63
cmp cl, 0x39
jle 0x55ed3d
cmp eax, 0x17
ja case.0x55eca9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ed93
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ed8a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55edcd
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55edcd
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55edcd
cmp cl, 0x39
jle 0x55eda7
cmp eax, 1
jb case.0x55eca9.81
cmp eax, 0xc
ja case.0x55eca9.81
dec eax
mov dword [esp + 0x10], 1
mov dword [edi + 8], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ee07
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55edfe
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55e7b4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x55e7b4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55e7b4
cmp cl, 0x39
jle 0x55ee1b
jmp 0x55e7b4
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ee69
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ee60
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55eea3
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x55eea3
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55eea3
cmp cl, 0x39
jle 0x55ee7d
cmp eax, 0x3b
ja case.0x55eca9.81
mov dword [edi + 4], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55eecb
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55eec2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ef05
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x55ef05
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ef05
cmp cl, 0x39
jle 0x55eedf
cmp eax, 0x3d
ja case.0x55eca9.81
mov dword [edi], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55ef2c
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ef23
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55ef66
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x55ef66
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55ef66
cmp cl, 0x39
jle 0x55ef40
cmp eax, 0x35
ja case.0x55eca9.81
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x55ef8b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55ef82
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55efc5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x55efc5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55efc5
cmp cl, 0x39
jle 0x55ef9f
cmp eax, 6
ja case.0x55eca9.81
mov dword [edi + 0x18], eax
jmp case.0x55e368.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x55efe6
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x55efdd
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x55eca9.81
cmp cl, 0x39
jg case.0x55eca9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x55f018
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x55f018
mov cl, byte [esi]
cmp cl, 0x30
jl 0x55f018
cmp cl, 0x39
jle 0x55eff2
cmp eax, 0x63
ja case.0x55eca9.81
cmp eax, 0x45
jae 0x55f025
add eax, 0x64
mov dword [edi + 0x14], eax
mov al, byte [ebp]
test al, al
je 0x55f040
jmp 0x55e2fa
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 0x55f054
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x55f054
add dword [edi + 8], 0xc
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x55f0a2
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4 - 0x5f]
test ecx, ecx
je 0x55f089
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