Function at 0x4141c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
mov al, byte [esi]
push edi
mov dword [ebp - 0x28], 0xffffffff
test al, al
je 0x41514d
mov edi, dword [ebp + 0x10]
lea ecx, [ecx]
movsx eax, al
push eax
call fcn.0045e13c
add esp, 4
test eax, eax
je 0x41423b
movsx ecx, byte [ebx]
push ecx
call fcn.0045e13c
add esp, 4
test eax, eax
je 0x414235
movsx edx, byte [ebx + 1]
inc ebx
push edx
call fcn.0045e13c
add esp, 4
test eax, eax
jne 0x414220
mov dword [ebp + 8], ebx
inc esi
jmp case.0x41426f.90
mov al, byte [esi]
inc esi
cmp al, 0x25
je 0x414259
mov cl, byte [ebx]
inc ebx
mov dword [ebp + 8], ebx
cmp al, cl
je case.0x41426f.90
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi]
inc esi
sub eax, 0x25
mov dword [ebp + 0xc], esi
cmp eax, 0x54
ja case.0x41426f.38
movzx edx, byte [eax + 0x4151d4]
jmp dword [edx*4 + 0x415158]
mov al, byte [esi]
cmp al, 0x63
je 0x414259
cmp al, 0x43
je 0x414259
cmp al, 0x79
je 0x414259
cmp al, 0x59
je 0x414259
cmp al, 0x78
je 0x414259
cmp al, 0x58
je 0x414259
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebx]
inc ebx
mov dword [ebp + 8], ebx
cmp al, 0x25
jne case.0x41426f.38
jmp case.0x41426f.90
mov dword [ebp - 8], 0
mov esi, 0x4a91d8
mov edi, str.Sunday
lea esp, [esp]
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 1
je 0x41430a
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4142d0
sub eax, edx
push eax
mov eax, ebx
mov ecx, edi
call fcn.0040ac50
add esp, 4
test eax, eax
je 0x41431d
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4142f0
sub eax, edx
push eax
mov eax, ebx
mov ecx, esi
call fcn.0040ac50
add esp, 4
test eax, eax
je 0x414339
inc dword [ebp - 8]
add edi, 0xa
add esi, 4
cmp edi, 0x4a91d6
jl 0x4142c0
jmp 0x41435d
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax*2 + str.Sunday]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414330
jmp 0x41434d
mov eax, dword [ebp - 8]
lea eax, [eax*4 + 0x4a91d8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414346
sub eax, edx
mov edx, dword [ebp + 0x14]
add ebx, eax
mov dword [ebp + 8], ebx
mov dword [edx], 2
mov eax, dword [ebp - 8]
cmp eax, 7
je case.0x41426f.38
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
mov dword [ebp - 0x10], 1
mov edi, ecx
jmp case.0x41426f.90
mov dword [ebp - 8], 0
mov esi, 0x4a92a0
mov edi, str.January
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414396
sub eax, edx
push eax
mov eax, ebx
mov ecx, edi
call fcn.0040ac50
add esp, 4
test eax, eax
je 0x4143e2
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4143b5
sub eax, edx
push eax
mov eax, ebx
mov ecx, esi
call fcn.0040ac50
add esp, 4
test eax, eax
je 0x4143fb
inc dword [ebp - 8]
add edi, 0xa
add esi, 4
cmp edi, 0x4a92a0
jl 0x414391
jmp 0x41441f
mov eax, dword [ebp - 8]
lea eax, [eax + eax*4]
lea eax, [eax*2 + str.January]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4143f2
jmp 0x41440f
mov eax, dword [ebp - 8]
lea eax, [eax*4 + 0x4a92a0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414408
sub eax, edx
mov edx, dword [ebp + 0x14]
add ebx, eax
mov dword [ebp + 8], ebx
mov dword [edx], 2
mov eax, dword [ebp - 8]
cmp eax, 0xc
je case.0x41426f.38
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
mov dword [ebp - 4], 1
mov edi, ecx
jmp case.0x41426f.90
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
push str._a__b__e__H:_M:_S__Y
push ebx
call fcn.004141c0
mov ebx, eax
add esp, 0x14
mov dword [ebp + 8], ebx
test ebx, ebx
je case.0x41426f.38
mov dword [ebp - 4], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414486
mov edi, edi
inc ebx
cmp byte [ebx], 0x20
je 0x414480
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x4144c6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x63
ja 0x4144c6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x4144c6
cmp cl, 0x39
jle 0x4144a0
mov dword [ebp + 8], ebx
cmp eax, 0x63
ja case.0x41426f.38
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x4144f6
lea ecx, [ecx]
inc ebx
cmp byte [ebx], 0x20
je 0x4144f0
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414cc6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x1f
ja 0x414cc6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414cc6
cmp cl, 0x39
jle 0x414510
jmp 0x414cc6
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push eax
push ecx
push edi
push str._Y__m__d
jmp 0x414450
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
push str._m__d__y
jmp 0x414450
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414586
lea esp, [esp]
inc ebx
cmp byte [ebx], 0x20
je 0x414580
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414d36
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x17
ja 0x414d36
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414d36
cmp cl, 0x39
jle 0x4145a0
jmp 0x414d36
xor ecx, ecx
cmp byte [ebx], 0x20
mov edx, 2
jne 0x4145e9
inc ebx
cmp byte [ebx], 0x20
je 0x4145e3
mov al, byte [ebx]
cmp al, 0x30
jl case.0x41426f.38
cmp al, 0x39
jg case.0x41426f.38
jmp 0x414600
movsx eax, al
dec edx
lea ecx, [ecx + ecx*4]
inc ebx
lea ecx, [eax + ecx*2 - 0x30]
test edx, edx
jle 0x414624
lea eax, [ecx + ecx*4]
add eax, eax
cmp eax, 0xc
ja 0x414624
mov al, byte [ebx]
cmp al, 0x30
jl 0x414624
cmp al, 0x39
jle 0x414600
lea edx, [ecx - 1]
mov dword [ebp + 8], ebx
cmp edx, 0xb
ja case.0x41426f.38
mov eax, 0xaaaaaaab
mul ecx
shr edx, 3
lea eax, [edx + edx*2]
add eax, eax
add eax, eax
sub ecx, eax
mov dword [edi + 8], ecx
mov dword [ebp - 0xc], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 3
jne 0x414667
inc ebx
cmp byte [ebx], 0x20
je 0x414661
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
jmp 0x414680
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x4146a9
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x16e
ja 0x4146a9
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x4146a9
cmp cl, 0x39
jle 0x414680
lea edx, [eax - 1]
mov dword [ebp + 8], ebx
cmp edx, 0x16d
ja case.0x41426f.38
dec eax
mov dword [edi + 0x1c], eax
mov dword [ebp - 0x20], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x4146dd
inc ebx
cmp byte [ebx], 0x20
je 0x4146d7
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414717
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0xc
ja 0x414717
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414717
cmp cl, 0x39
jle 0x4146f1
lea edx, [eax - 1]
mov dword [ebp + 8], ebx
cmp edx, 0xb
ja case.0x41426f.38
dec eax
mov dword [edi + 0x10], eax
mov eax, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], eax
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x41474c
inc ebx
cmp byte [ebx], 0x20
je 0x414746
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414786
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x3b
ja 0x414786
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414786
cmp cl, 0x39
jle 0x414760
mov dword [ebp + 8], ebx
cmp eax, 0x3b
ja case.0x41426f.38
mov dword [edi + 4], eax
jmp case.0x41426f.90
movsx edx, byte [ebx]
push edx
call fcn.0045e13c
add esp, 4
test eax, eax
je case.0x41426f.90
movsx eax, byte [ebx + 1]
inc ebx
push eax
call fcn.0045e13c
add esp, 4
test eax, eax
jne 0x4147a7
mov dword [ebp + 8], ebx
mov al, byte [esi]
test al, al
jne 0x414200
cmp dword [ebp - 0xc], 0
je 0x4147d6
cmp dword [ebp - 0x24], 0
je 0x4147d6
add dword [edi + 8], 0xc
mov eax, dword [ebp - 0x28]
cmp eax, 0xffffffff
je 0x415042
cmp dword [ebp - 0x1c], 0
je 0x415039
lea ecx, [eax - 0x13]
mov eax, dword [edi + 0x14]
imul ecx, ecx, 0x64
cdq
mov esi, 0x64
idiv esi
add ecx, edx
mov dword [edi + 0x14], ecx
jmp 0x415042
push 2
mov eax, ebx
mov ecx, 0x4af910
call fcn.0040ac50
add esp, 4
test eax, eax
jne 0x414821
add ebx, 2
jmp 0x4147b9
push 2
mov eax, ebx
mov ecx, 0x4af914
call fcn.0040ac50
add esp, 4
test eax, eax
jne case.0x41426f.38
add ebx, 2
mov dword [ebp - 0x24], 1
jmp 0x4147b9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
push ecx
push edx
push edi
push str._I:_M:_S__p
push ebx
call fcn.004141c0
mov ebx, eax
add esp, 0x14
mov dword [ebp + 8], ebx
test ebx, ebx
je case.0x41426f.38
jmp case.0x41426f.90
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push eax
push ecx
push edi
push str._H:_M
jmp 0x414857
mov al, byte [ebx]
xor esi, esi
xor ecx, ecx
cmp al, 0x30
jl case.0x41426f.38
cmp al, 0x39
jg case.0x41426f.38
movsx eax, al
sub eax, 0x30
cdq
mov edi, eax
mov eax, esi
mov ebx, ecx
shld ecx, eax, 2
add eax, eax
add eax, eax
add esi, eax
adc ecx, ebx
mov ebx, dword [ebp + 8]
mov al, byte [ebx + 1]
shld ecx, esi, 1
add esi, esi
add esi, edi
adc ecx, edx
inc ebx
mov dword [ebp + 8], ebx
cmp al, 0x30
jl 0x4148cd
cmp al, 0x39
jle 0x414898
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ecx
call fcn.0045fcbf
add esp, 4
test eax, eax
je case.0x41426f.38
mov edi, dword [ebp + 0x10]
mov ecx, 9
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414916
lea ebx, [ebx]
inc ebx
cmp byte [ebx], 0x20
je 0x414910
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414956
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x3d
ja 0x414956
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414956
cmp cl, 0x39
jle 0x414930
mov dword [ebp + 8], ebx
cmp eax, 0x3d
ja case.0x41426f.38
mov dword [edi], eax
jmp case.0x41426f.90
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
push str._H:_M:_S
jmp 0x414857
xor ecx, ecx
cmp byte [ebx], 0x20
mov edx, 1
jne 0x41498e
inc ebx
cmp byte [ebx], 0x20
je 0x414988
mov al, byte [ebx]
cmp al, 0x30
jl case.0x41426f.38
cmp al, 0x39
jg case.0x41426f.38
movsx eax, al
dec edx
lea ecx, [ecx + ecx*4]
inc ebx
lea ecx, [eax + ecx*2 - 0x30]
test edx, edx
jle 0x4149c4
lea eax, [ecx + ecx*4]
add eax, eax
cmp eax, 7
ja 0x4149c4
mov al, byte [ebx]
cmp al, 0x30
jl 0x4149c4
cmp al, 0x39
jle 0x4149a0
lea edx, [ecx - 1]
mov dword [ebp + 8], ebx
cmp edx, 6
ja case.0x41426f.38
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
lea edx, [eax*8]
sub edx, eax
sub ecx, edx
mov dword [edi + 0x18], ecx
mov dword [ebp - 0x10], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414a16
jmp 0x414a10
inc ebx
cmp byte [ebx], 0x20
je 0x414a10
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414a56
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x63
ja 0x414a56
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414a56
cmp cl, 0x39
jle 0x414a30
mov dword [ebp + 8], ebx
cmp eax, 0x63
ja case.0x41426f.38
jmp case.0x41426f.90
mov al, byte [ebx]
cmp al, 0x30
jl case.0x41426f.38
cmp al, 0x39
jg case.0x41426f.38
lea esp, [esp]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x30
jl 0x4147b9
cmp al, 0x39
jle 0x414a80
jmp 0x4147b9
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414aa7
inc ebx
cmp byte [ebx], 0x20
je 0x414aa1
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
jmp 0x414ac0
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414ae6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x35
ja 0x414ae6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414ae6
cmp cl, 0x39
jle 0x414ac0
mov dword [ebp + 8], ebx
cmp eax, 0x35
ja case.0x41426f.38
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 1
jne 0x414b09
inc ebx
cmp byte [ebx], 0x20
je 0x414b03
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ecx, [ecx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414fa6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 6
ja 0x414fa6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414fa6
cmp cl, 0x39
jle 0x414b20
jmp 0x414fa6
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414b69
inc ebx
cmp byte [ebx], 0x20
je 0x414b63
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ecx, [ecx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414ba6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x63
ja 0x414ba6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414ba6
cmp cl, 0x39
jle 0x414b80
mov dword [ebp + 8], ebx
cmp eax, 0x63
ja case.0x41426f.38
cmp eax, 0x45
jae 0x414bba
add eax, 0x64
mov dword [edi + 0x14], eax
mov eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 4
jne 0x414be6
lea esp, [esp]
inc ebx
cmp byte [ebx], 0x20
je 0x414be0
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414c29
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x270f
ja 0x414c29
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414c29
cmp cl, 0x39
jle 0x414c00
mov dword [ebp + 8], ebx
cmp eax, 0x270f
ja case.0x41426f.38
add eax, 0xfffff894
mov dword [edi + 0x14], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 1
jmp case.0x41426f.90
movsx eax, byte [esi]
sub eax, 0x48
inc esi
cmp eax, 0x31
ja case.0x41426f.38
movzx edx, byte [eax + 0x415254]
jmp dword [edx*4 + 0x41522c]
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414c86
lea esp, [esp]
inc ebx
cmp byte [ebx], 0x20
je 0x414c80
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414cc6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x1f
ja 0x414cc6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414cc6
cmp cl, 0x39
jle 0x414ca0
lea edx, [eax - 1]
mov dword [ebp + 8], ebx
cmp edx, 0x1e
ja case.0x41426f.38
mov dword [edi + 0xc], eax
mov eax, 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414cfa
inc ebx
cmp byte [ebx], 0x20
je 0x414cf4
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
mov edi, edi
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414d36
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x17
ja 0x414d36
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414d36
cmp cl, 0x39
jle 0x414d10
mov dword [ebp + 8], ebx
cmp eax, 0x17
ja case.0x41426f.38
mov dword [edi + 8], eax
mov dword [ebp - 0xc], 0
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414d66
lea ecx, [ecx]
inc ebx
cmp byte [ebx], 0x20
je 0x414d60
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414da6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0xc
ja 0x414da6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414da6
cmp cl, 0x39
jle 0x414d80
lea edx, [eax - 1]
mov dword [ebp + 8], ebx
cmp edx, 0xb
ja case.0x41426f.38
dec eax
mov dword [edi + 8], eax
mov dword [ebp - 0xc], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414dd7
inc ebx
cmp byte [ebx], 0x20
je 0x414dd1
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
jmp 0x414df0
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414e16
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0xc
ja 0x414e16
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414e16
cmp cl, 0x39
jle 0x414df0
lea edx, [eax - 1]
mov dword [ebp + 8], ebx
cmp edx, 0xb
ja case.0x41426f.38
dec eax
mov dword [edi + 0x10], eax
mov eax, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], eax
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414e4b
inc ebx
cmp byte [ebx], 0x20
je 0x414e45
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
nop
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414e86
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x3b
ja 0x414e86
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414e86
cmp cl, 0x39
jle 0x414e60
mov dword [ebp + 8], ebx
cmp eax, 0x3b
ja case.0x41426f.38
mov dword [edi + 4], eax
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414eac
inc ebx
cmp byte [ebx], 0x20
je 0x414ea6
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414ee6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x3d
ja 0x414ee6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414ee6
cmp cl, 0x39
jle 0x414ec0
mov dword [ebp + 8], ebx
cmp eax, 0x3d
ja case.0x41426f.38
mov dword [edi], eax
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414f0b
inc ebx
cmp byte [ebx], 0x20
je 0x414f05
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
nop
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414f46
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x35
ja 0x414f46
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414f46
cmp cl, 0x39
jle 0x414f20
mov dword [ebp + 8], ebx
cmp eax, 0x35
ja case.0x41426f.38
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 1
jne 0x414f69
inc ebx
cmp byte [ebx], 0x20
je 0x414f63
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ecx, [ecx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x414fa6
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 6
ja 0x414fa6
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x414fa6
cmp cl, 0x39
jle 0x414f80
mov dword [ebp + 8], ebx
cmp eax, 6
ja case.0x41426f.38
mov dword [edi + 0x18], eax
mov dword [ebp - 0x10], 1
jmp case.0x41426f.90
xor eax, eax
cmp byte [ebx], 0x20
mov edx, 2
jne 0x414fd6
lea ecx, [ecx]
inc ebx
cmp byte [ebx], 0x20
je 0x414fd0
mov cl, byte [ebx]
cmp cl, 0x30
jl case.0x41426f.38
cmp cl, 0x39
jg case.0x41426f.38
lea ebx, [ebx]
movsx ecx, cl
dec edx
lea eax, [eax + eax*4]
inc ebx
lea eax, [ecx + eax*2 - 0x30]
test edx, edx
jle 0x415016
lea ecx, [eax + eax*4]
add ecx, ecx
cmp ecx, 0x63
ja 0x415016
mov cl, byte [ebx]
cmp cl, 0x30
jl 0x415016
cmp cl, 0x39
jle 0x414ff0
mov dword [ebp + 8], ebx
cmp eax, 0x63
ja case.0x41426f.38
cmp eax, 0x45
jae 0x41502a
add eax, 0x64
mov dword [edi + 0x14], eax
mov dword [ebp - 4], 1
jmp case.0x41426f.90
add eax, 0xffffffed
imul eax, eax, 0x64
mov dword [edi + 0x14], eax
cmp dword [ebp - 4], 0
je 0x41514d
cmp dword [ebp - 0x10], 0
jne 0x41513f
cmp dword [ebp - 0x14], 0
je 0x415066
cmp dword [ebp - 0x18], 0
jne 0x415137
cmp dword [ebp - 0x20], 0
je 0x415137
mov esi, dword [edi + 0x14]
add esi, 0x76c
mov edx, esi
and edx, reloc.WS2_32.dll_closesocket
mov dword [ebp + 0xc], 0
jns 0x41508f
dec edx
or edx, 0xfffffffc
inc edx
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0x28], edx
test edx, edx
jne 0x4150c8
mov eax, esi
cdq
mov edi, 0x64
idiv edi
test edx, edx
jne 0x4150b5
mov eax, esi
cdq
mov edi, 0x190
idiv edi
test edx, edx
jne 0x4150c2
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp - 0x28]
mov eax, 1
jmp 0x4150ca
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp - 0x28]
xor eax, eax
imul eax, eax, 0xd
add eax, dword [ebp + 0xc]
movzx eax, word [eax*2 + 0x4a91f4]
cmp eax, ecx
jg 0x4150e1
inc dword [ebp + 0xc]
jmp 0x415095
cmp dword [ebp - 0x14], 0
jne 0x4150ee
mov eax, dword [ebp + 0xc]
dec eax
mov dword [edi + 0x10], eax
cmp dword [ebp - 0x18], 0
jne 0x415137
test edx, edx
jne 0x415121
mov eax, esi
cdq
mov edi, 0x64
idiv edi
test edx, edx
jne 0x415114
mov eax, esi
cdq
mov esi, 0x190
idiv esi
test edx, edx
jne 0x41511e
mov edi, dword [ebp + 0x10]
mov eax, 1
jmp 0x415123
mov edi, dword [ebp + 0x10]
xor eax, eax
imul eax, eax, 0xd
add eax, dword [ebp + 0xc]
movzx edx, word [eax*2 + 0x4a91f2]
sub ecx, edx
inc ecx
mov dword [edi + 0xc], ecx
mov esi, dword [ebp + 0x10]
call fcn.004140c0
cmp dword [ebp - 0x20], 0
jne 0x41514d
mov esi, dword [ebp + 0x10]
call fcn.00414160
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret