Function at 0x576800
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 0x5775de
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
movsx eax, al
push eax
call fcn.005e5881
add esp, 4
test eax, eax
je 0x576872
movsx ecx, byte [esi]
push ecx
call fcn.005e5881
add esp, 4
test eax, eax
je 0x57686c
movsx edx, byte [esi + 1]
inc esi
push edx
call fcn.005e5881
add esp, 4
test eax, eax
jne 0x57685a
inc ebp
jmp case.0x5768a8.54
mov al, byte [ebp]
cmp al, 0x25
je 0x57688a
mov cl, byte [esi]
inc esi
inc ebp
cmp al, cl
jne case.0x5771e9.81
jmp case.0x5768a8.54
inc ebp
movsx eax, byte [ebp]
sub eax, 0x25
inc ebp
cmp eax, 0x54
mov dword [esp + 0x2c], ebp
ja case.0x5771e9.81
xor edx, edx
mov dl, byte [eax + 0x57766c]
jmp dword [edx*4 + 0x5775f0]
mov al, byte [ebp]
cmp al, 0x63
je 0x57688b
cmp al, 0x43
je 0x57688b
cmp al, 0x79
je 0x57688b
cmp al, 0x59
je 0x57688b
cmp al, 0x78
je 0x57688b
cmp al, 0x58
jne case.0x5771e9.81
jmp 0x57688b
mov al, byte [esi]
inc esi
cmp al, 0x25
jne case.0x5771e9.81
jmp case.0x5768a8.54
mov dword [esp + 0x28], 0
mov ebp, 0x65e820
mov ebx, 0x65e7d8
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.005e89c0
add esp, 0xc
test eax, eax
je 0x576941
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.005e89c0
add esp, 0xc
test eax, eax
je 0x576951
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x65e81e
mov dword [esp + 0x28], edi
jge 0x576968
jmp 0x5768f2
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea edi, [ecx*2 + 0x65e7d8]
jmp 0x57695c
mov edx, dword [esp + 0x28]
lea edi, [edx*4 + 0x65e820]
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.0x5771e9.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.0x5768a8.54
mov dword [esp + 0x28], 0
mov ebp, 0x65e8b4
mov ebx, 0x65e83c
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.005e89c0
add esp, 0xc
test eax, eax
je 0x5769ec
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.005e89c0
add esp, 0xc
test eax, eax
je 0x5769fc
mov edi, dword [esp + 0x28]
add ebx, 0xa
inc edi
add ebp, 4
cmp ebx, 0x65e8b4
mov dword [esp + 0x28], edi
jge 0x576a13
jmp 0x57699d
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
lea edi, [edx*2 + 0x65e83c]
jmp 0x576a07
mov eax, dword [esp + 0x28]
lea edi, [eax*4 + 0x65e8b4]
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.0x5771e9.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.0x5768a8.54
mov al, byte [str._a__b__e__H:_M:_S__Y]
test al, al
je case.0x5771e9.81
push edi
push str._a__b__e__H:_M:_S__Y
jmp 0x576f18
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576a65
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576a5c
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576a9f
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x576a9f
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576a9f
cmp cl, 0x39
jle 0x576a79
cmp eax, 0x63
ja case.0x5771e9.81
mov dword [esp + 0x20], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576ac8
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576abf
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576b02
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x576b02
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576b02
cmp cl, 0x39
jle 0x576adc
cmp eax, 1
jb case.0x5771e9.81
cmp eax, 0x1f
ja case.0x5771e9.81
mov dword [edi + 0xc], eax
jmp case.0x5768a8.54
mov al, byte [str._Y__m__d]
test al, al
je case.0x5771e9.81
push edi
push str._Y__m__d
jmp 0x576f18
mov al, byte [str._m__d__y]
test al, al
je case.0x5771e9.81
push edi
push str._m__d__y
jmp 0x576f18
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576b63
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576b5a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576b9d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x576b9d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576b9d
cmp cl, 0x39
jle 0x576b77
cmp eax, 0x17
ja case.0x5771e9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576bcd
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576bc4
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576c07
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x576c07
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576c07
cmp cl, 0x39
jle 0x576be1
cmp eax, 1
jb case.0x5771e9.81
cmp eax, 0xc
ja case.0x5771e9.81
xor edx, edx
mov ecx, 0xc
div ecx
mov dword [esp + 0x10], 1
mov dword [edi + 8], edx
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 3
jne 0x576c49
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576c40
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576c86
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x16e
ja 0x576c86
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576c86
cmp cl, 0x39
jle 0x576c5d
cmp eax, 1
jb case.0x5771e9.81
cmp eax, 0x16e
ja case.0x5771e9.81
dec eax
mov dword [edi + 0x1c], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576cba
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576cb1
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576cf4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x576cf4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576cf4
cmp cl, 0x39
jle 0x576cce
cmp eax, 1
jb case.0x5771e9.81
cmp eax, 0xc
ja case.0x5771e9.81
dec eax
mov dword [edi + 0x10], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576d26
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576d1d
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576d60
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x576d60
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576d60
cmp cl, 0x39
jle 0x576d3a
cmp eax, 0x3b
ja case.0x5771e9.81
mov dword [edi + 4], eax
jmp case.0x5768a8.54
movsx edx, byte [esi]
push edx
call fcn.005e5881
add esp, 4
test eax, eax
je case.0x5768a8.54
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.005e5881
add esp, 4
test eax, eax
jne 0x576d85
jmp case.0x5768a8.54
mov edi, 0x6e6c34
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6e6c34
call fcn.005e89c0
add esp, 0xc
test eax, eax
jne 0x576dde
mov edi, 0x6e6c34
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.0x5768a8.54
mov edi, 0x6e6c30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x6e6c30
call fcn.005e89c0
add esp, 0xc
test eax, eax
jne case.0x5771e9.81
mov edi, 0x6e6c30
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.0x5768a8.54
mov al, byte [str._I:_M:_S__p]
test al, al
je case.0x5771e9.81
push edi
push str._I:_M:_S__p
jmp 0x576f18
mov al, byte [str._H:_M]
test al, al
je case.0x5771e9.81
push edi
push str._H:_M
jmp 0x576f18
mov al, byte [esi]
xor ecx, ecx
cmp al, 0x30
jl case.0x5771e9.81
cmp al, 0x39
jg case.0x5771e9.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 0x576e85
cmp al, 0x39
jle 0x576e70
lea eax, [esp + 0x2c]
push edi
push eax
mov dword [esp + 0x34], ecx
call fcn.005767d0
add esp, 8
test eax, eax
je case.0x5771e9.81
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576ebb
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576eb2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576ef5
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x576ef5
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576ef5
cmp cl, 0x39
jle 0x576ecf
cmp eax, 0x3d
ja case.0x5771e9.81
mov dword [edi], eax
jmp case.0x5768a8.54
mov al, byte [str._H:_M:_S]
test al, al
je case.0x5771e9.81
push edi
push str._H:_M:_S
push esi
mov ecx, ebx
call fcn.00576800
mov esi, eax
test esi, esi
je case.0x5771e9.81
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x576f46
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576f3d
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576f80
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 7
ja 0x576f80
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576f80
cmp cl, 0x39
jle 0x576f5a
cmp eax, 1
jb case.0x5771e9.81
cmp eax, 7
ja case.0x5771e9.81
xor edx, edx
mov ecx, 7
div ecx
mov dword [edi + 0x18], edx
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x576fba
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x576fb1
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576ff4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x576ff4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576ff4
cmp cl, 0x39
jle 0x576fce
cmp eax, 0x63
ja case.0x5771e9.81
jmp case.0x5768a8.54
mov al, byte [esi]
cmp al, 0x30
jl case.0x5771e9.81
cmp al, 0x39
jg case.0x5771e9.81
mov al, byte [esi + 1]
inc esi
cmp al, 0x30
jl case.0x5768a8.54
cmp al, 0x39
jle 0x577014
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x577040
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x577037
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x57707a
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x57707a
mov cl, byte [esi]
cmp cl, 0x30
jl 0x57707a
cmp cl, 0x39
jle 0x577054
cmp eax, 0x35
ja case.0x5771e9.81
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x57709f
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x577096
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5770d9
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x5770d9
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5770d9
cmp cl, 0x39
jle 0x5770b3
cmp eax, 6
ja case.0x5771e9.81
mov dword [edi + 0x18], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x577101
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5770f8
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x57713b
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x57713b
mov cl, byte [esi]
cmp cl, 0x30
jl 0x57713b
cmp cl, 0x39
jle 0x577115
cmp eax, 0x63
ja case.0x5771e9.81
cmp eax, 0x45
jae 0x57714c
add eax, 0x64
mov dword [edi + 0x14], eax
mov dword [esp + 0x18], 1
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 4
jne 0x577173
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x57716a
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5771b0
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x270f
ja 0x5771b0
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5771b0
cmp cl, 0x39
jle 0x577187
cmp eax, 0x270f
ja case.0x5771e9.81
add eax, 0xfffff894
mov dword [esp + 0x18], 0
mov dword [edi + 0x14], eax
jmp case.0x5768a8.54
movsx eax, byte [ebp]
sub eax, 0x48
inc ebp
cmp eax, 0x31
ja case.0x5771e9.81
xor edx, edx
mov dl, byte [eax + 0x5776ec]
jmp dword [edx*4 + 0x5776c4]
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x577207
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5771fe
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576b02
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x1f
ja 0x576b02
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576b02
cmp cl, 0x39
jle 0x57721b
jmp 0x576b02
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x577269
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x577260
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5772a3
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x17
ja 0x5772a3
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5772a3
cmp cl, 0x39
jle 0x57727d
cmp eax, 0x17
ja case.0x5771e9.81
mov dword [edi + 8], eax
mov dword [esp + 0x10], 0
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5772d3
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5772ca
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x57730d
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x57730d
mov cl, byte [esi]
cmp cl, 0x30
jl 0x57730d
cmp cl, 0x39
jle 0x5772e7
cmp eax, 1
jb case.0x5771e9.81
cmp eax, 0xc
ja case.0x5771e9.81
dec eax
mov dword [esp + 0x10], 1
mov dword [edi + 8], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x577347
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x57733e
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x576cf4
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0xc
ja 0x576cf4
mov cl, byte [esi]
cmp cl, 0x30
jl 0x576cf4
cmp cl, 0x39
jle 0x57735b
jmp 0x576cf4
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x5773a9
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5773a0
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5773e3
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3b
ja 0x5773e3
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5773e3
cmp cl, 0x39
jle 0x5773bd
cmp eax, 0x3b
ja case.0x5771e9.81
mov dword [edi + 4], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x57740b
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x577402
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x577445
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x3d
ja 0x577445
mov cl, byte [esi]
cmp cl, 0x30
jl 0x577445
cmp cl, 0x39
jle 0x57741f
cmp eax, 0x3d
ja case.0x5771e9.81
mov dword [edi], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x57746c
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x577463
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x5774a6
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x35
ja 0x5774a6
mov cl, byte [esi]
cmp cl, 0x30
jl 0x5774a6
cmp cl, 0x39
jle 0x577480
cmp eax, 0x35
ja case.0x5771e9.81
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 1
jne 0x5774cb
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x5774c2
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x577505
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 6
ja 0x577505
mov cl, byte [esi]
cmp cl, 0x30
jl 0x577505
cmp cl, 0x39
jle 0x5774df
cmp eax, 6
ja case.0x5771e9.81
mov dword [edi + 0x18], eax
jmp case.0x5768a8.54
mov cl, byte [esi]
xor eax, eax
cmp cl, 0x20
mov edx, 2
jne 0x577526
mov cl, byte [esi + 1]
inc esi
cmp cl, 0x20
je 0x57751d
mov cl, byte [esi]
cmp cl, 0x30
jl case.0x5771e9.81
cmp cl, 0x39
jg case.0x5771e9.81
movsx ecx, cl
inc esi
lea eax, [eax + eax*4]
dec edx
test edx, edx
lea eax, [ecx + eax*2 - 0x30]
jle 0x577558
lea ecx, [eax + eax*4]
shl ecx, 1
cmp ecx, 0x63
ja 0x577558
mov cl, byte [esi]
cmp cl, 0x30
jl 0x577558
cmp cl, 0x39
jle 0x577532
cmp eax, 0x63
ja case.0x5771e9.81
cmp eax, 0x45
jae 0x577565
add eax, 0x64
mov dword [edi + 0x14], eax
mov al, byte [ebp]
test al, al
je 0x577580
jmp 0x57683a
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 0x577594
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x577594
add dword [edi + 8], 0xc
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x5775e2
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4 - 0x5f]
test ecx, ecx
je 0x5775c9
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