Function at 0x418520
Capabilities:
Contain obfuscated stackstrings
Parse credit card information

Disassembly:
mov eax, 0x8708
call fcn.00488480
mov eax, dword [esp + 0x8718]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov edi, dword [esp + 0x871c]
mov dword [esp + 0x14], ebp
test eax, eax
je 0x418583
lea edx, [esp + 0x108]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x418550
mov eax, dword [esp + 0x872c]
mov edx, eax
mov dword [esp + 0x24], edx
test eax, eax
je 0x41859d
lea eax, [edx + 1]
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x418580
cmp cl, 9
jne 0x418ce8
inc eax
jmp 0x418570
cmp byte [esp + 0x8720], 3
jne 0x4185df
mov byte [esp + 0x108], 0
mov dword [esp + 0x24], 0
mov ebp, edi
mov dword [esp + 0x10], ebp
mov byte [esp + 0x1a], 0
mov dl, byte [0x49d350]
mov byte [esp + 0x19], 0
cmp byte [ebp], dl
jne 0x418d4d
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x4185bc
cmp al, 9
je 0x4185bc
mov dword [esp + 0x10], ebp
cmp byte [esp + 0x8720], 0
jne 0x4196b5
jmp 0x4193c6
mov eax, dword [0x49d3c8]
cmp dword [eax + 0x94], 0
je 0x418cbd
push 6
push 0x492624
push edi
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x41860f
mov dword [esp + 0x1c], 1
jmp 0x418650
push 5
push 0x49262c
push edi
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x418630
lea esi, [edi + 5]
mov dword [esp + 0x1c], 2
jmp 0x418653
push 6
push 0x492634
push edi
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x418cbd
mov dword [esp + 0x1c], 3
lea esi, [edi + 6]
mov al, byte [esi]
test al, al
je 0x418c6d
cmp al, 0x20
je 0x418670
cmp al, 9
jne 0x418cbd
lea esp, [esp]
mov al, byte [esi]
cmp al, 0x20
je 0x41867a
cmp al, 9
jne 0x41867d
inc esi
jmp 0x418670
cmp byte [esi], 0
je 0x418c6d
mov bl, byte [esi + 1]
push 0
push 0
mov ecx, esi
mov byte [esi + 1], 0
call fcn.00467210
add esp, 8
mov byte [esi + 1], bl
test eax, eax
je 0x418cbd
cmp byte [ebp + 0x4c], 0
mov ecx, dword [0x49d3c8]
je 0x418860
mov eax, dword [ecx + 0x94]
cmp byte [eax + 0x30], 0
jne 0x418860
cmp dword [esp + 0x1c], 2
setne dl
inc dl
mov byte [eax + 0x30], dl
mov eax, dword [ecx + 0x94]
xor ecx, ecx
cmp byte [eax + 0x30], 1
mov eax, dword [ebp + 4]
mov al, byte [eax]
sete cl
xor edx, edx
cmp dword [esp + 0x1c], 1
sete dl
cmp edx, ecx
setne byte [esp + 0x1a]
cmp al, 0xa
jb 0x418700
cmp al, 0x21
jbe 0x418715
cmp al, 9
je 0x418715
cmp al, 0x68
je 0x418715
cmp al, 0x6a
je 0x418715
mov byte [esp + 0x1b], 0
cmp al, 0x69
jne 0x41871a
mov byte [esp + 0x1b], 1
cmp byte [esi], 0
mov byte [esp + 0x19], 0
mov dword [esp + 0x10], esi
je 0x418c91
mov esi, dword [esp + 0x10]
mov edi, 0x4926ac
mov eax, esi
call fcn.00408bf0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x41875f
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418750
sub eax, edx
add eax, esi
mov dword [esp + 0x20], eax
mov ebp, eax
xor eax, eax
sub ebp, esi
cmp byte [esp + 0x1a], al
je 0x41877f
mov ecx, dword [0x49d3c8]
mov edx, dword [ecx + 0x94]
cmp byte [edx + 0x30], 1
sete al
inc eax
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x2e]
mov edi, ebp
call fcn.0041d750
mov dword [esp + 0x30], eax
test eax, eax
je 0x418bc4
cmp byte [esp + 0x2a], 0
jne 0x418bd3
mov ebx, eax
mov al, byte [ebx + 0x17]
test al, al
jne 0x4187b9
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x418c4d
mov ecx, dword [esp + 0x10]
push ebp
mov eax, 0x4920bc
call fcn.00464080
add esp, 4
test eax, eax
je 0x418c4d
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x94]
xor esi, esi
cmp dword [eax + 0xc], esi
jle 0x418823
xor edi, edi
mov edx, dword [eax + 8]
mov eax, dword [edx + edi]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x10]
push ebp
call fcn.00464080
add esp, 4
test eax, eax
je 0x418bf1
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x94]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0xc]
jl 0x4187f0
cmp byte [esp + 0x1a], 0
je 0x418845
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x54]
cmp eax, 0x7d0
jge 0x418c11
mov edx, dword [ecx + 0x50]
mov dword [edx + eax*4], ebx
inc dword [ecx + 0x54]
mov ebp, dword [esp + 0x1c]
cmp ebp, 3
jne 0x4188c0
cmp byte [ebx + 0x17], 0
jne 0x4188ba
mov eax, dword [ebx + 0xc]
or byte [eax + 0x15], 4
jmp 0x4188e9
mov eax, dword [ecx + 0x94]
movzx edx, byte [eax + 0x30]
cmp dword [esp + 0x1c], edx
jne 0x4186d3
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x418897
push edi
push 0x49263c
mov ecx, ebp
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
cmp eax, 2
jne 0x4186d3
push edi
push 0x492674
mov ecx, ebp
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
or byte [ebx + 0x15], 4
jmp 0x4188e9
cmp ebp, 2
jne 0x4188e9
mov eax, dword [0x49d3c8]
mov ecx, dword [eax + 0x94]
cmp byte [ecx + 0x30], 3
jne 0x4188e9
cmp byte [ebx + 0x17], 0
jne 0x4188e5
mov eax, dword [ebx + 0xc]
and byte [eax + 0x15], 0xfb
jmp 0x4188e9
and byte [ebx + 0x15], 0xfb
mov eax, dword [esp + 0x20]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4188fc
cmp cl, 9
jne 0x4188ff
inc eax
jmp 0x4188f0
movsx ecx, byte [eax]
mov edi, eax
mov dword [esp + 0x20], edi
cmp ecx, 0x3d
ja case.0x418914.1
movzx edx, byte [ecx + 0x41a318]
jmp dword [edx*4 + 0x41a304]
lea ecx, [eax + 1]
mov edi, edi
mov al, byte [ecx]
cmp al, 0x20
je 0x41892a
cmp al, 9
jne 0x41892d
inc ecx
jmp 0x418920
mov eax, ecx
mov esi, dword [esp + 0x14]
jmp 0x418b96
cmp byte [eax + 1], 0x3d
jne 0x418c2d
lea edi, [eax + 2]
mov dword [esp + 0x20], edi
xor bl, bl
mov al, byte [edi]
xor cl, cl
xor edx, edx
mov esi, edi
test al, al
je 0x4189a8
cmp al, 0x2c
jne 0x418970
test cl, cl
jne case.0x418982.35
test edx, edx
je 0x4189a4
jmp case.0x418982.35
lea edi, [eax + 1]
mov dword [esp + 0x20], edi
mov bl, 1
jmp 0x41894b
movsx eax, al
add eax, 0xffffffde
cmp eax, 0x3b
ja case.0x418982.35
movzx eax, byte [eax + 0x41a368]
jmp dword [eax*4 + 0x41a358]
test cl, cl
sete cl
jmp case.0x418982.35
test cl, cl
jne case.0x418982.35
inc edx
jmp case.0x418982.35
test cl, cl
jne case.0x418982.35
dec edx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418957
mov dword [esp + 0x20], edi
lea eax, [edi - 1]
mov edi, dword [esp + 0x10]
mov edx, edi
call fcn.00408c50
mov cl, byte [eax + 1]
inc eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x2b], cl
mov byte [eax], 0
cmp ebp, 3
jne 0x418adf
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x18]
mov dword [esp + 0xa8], eax
mov ebp, esi
mov edi, edi
mov al, byte [ebp]
cmp al, 0x20
je 0x4189eb
cmp al, 9
jne 0x4189ee
inc ebp
jmp 0x4189e0
mov bl, byte [0x49d352]
mov ecx, ebp
mov al, byte [ecx]
test al, al
je 0x418a0c
lea esp, [esp]
cmp al, bl
je 0x418a58
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x418a00
mov esi, dword [esp + 0x14]
push 0
push 0x101
lea eax, [esp + 0xb0]
push eax
push 2
push esi
mov dword [esp + 0xc0], ebp
call fcn.0041a810
test eax, eax
je 0x418bc4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x10]
mov dword [esi + 4], eax
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x418abc
mov edx, dword [esi + 0x25c]
mov dword [eax + 0x14], edx
jmp 0x418ac5
cmp byte [ecx], 0
je 0x418a0c
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x418a73.99
movzx edx, byte [eax + 0x41a3c8]
jmp dword [edx*4 + 0x41a3a4]
mov byte [esi], 7
jmp case.0x418a73.99
mov byte [esi], 8
jmp case.0x418a73.99
mov byte [esi], 0xc
jmp case.0x418a73.99
mov byte [esi], 0xa
jmp case.0x418a73.99
mov byte [esi], 0xd
jmp case.0x418a73.99
mov byte [esi], 9
jmp case.0x418a73.99
mov byte [esi], 0xb
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x418aa0
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.004777f0
add esp, 0xc
mov ecx, esi
jmp 0x4189f6
mov eax, dword [esi + 0x25c]
mov dword [esi + 8], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x25c]
mov dword [ecx + 0x10], edx
mov eax, dword [esi + 0x25c]
mov dword [esi + 0xc], eax
jmp 0x418b71
test bl, bl
je 0x418b28
lea edx, [esp + 0x4710]
mov eax, edi
sub edx, edi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x418af0
push 0
push 1
push 1
push 0x4910f0
lea ecx, [esp + 0x4720]
push 0x4910f4
push ecx
xor eax, eax
or ecx, 0xffffffff
call fcn.00464760
add esp, 0x18
lea esi, [esp + 0x4710]
jmp 0x418b2a
mov esi, edi
cmp byte [esp + 0x1b], 0
je 0x418b53
cmp byte [esp + 0x19], 0
jne 0x418b53
mov edx, dword [esp + 0x14]
push 0
push 0
push 0
push 0x6e
push edx
call fcn.0041a810
test eax, eax
je 0x418bc4
mov byte [esp + 0x19], 1
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.00418520
test eax, eax
je 0x418bc4
mov esi, dword [esp + 0x14]
mov al, byte [esp + 0x2b]
mov ecx, dword [esp + 0x34]
mov byte [ecx], al
mov eax, dword [esp + 0x20]
cmp byte [eax], 0x2c
jne 0x418b96
lea ecx, [eax + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x418b91
cmp al, 9
jne 0x418b94
inc ecx
jmp 0x418b87
mov eax, ecx
cmp byte [eax], 0
mov dword [esp + 0x10], eax
jne 0x41872c
cmp byte [esp + 0x19], 0
je 0x418c91
push 0
push 0
push 0
push 0x6f
push esi
call fcn.0041a810
test eax, eax
jne 0x418c91
mov edx, dword [esp + 0x10]
push edx
push 0x4926b4
mov ecx, ebx
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push 0x4926f8
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov edx, dword [esp + 0x10]
push edx
push 0x49271c
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push 0x492298
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x18]
push 0x4926cc
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
je 0x418ca3
cmp byte [ebp + 0x4c], 0
je 0x418ca3
mov edx, dword [0x49d3c8]
mov eax, dword [edx + 0x94]
cmp byte [eax + 0x30], 0
jne 0x418ca3
mov byte [eax + 0x30], cl
push edi
push 0x492298
mov ecx, ebp
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
push 1
push edi
push ebp
lea ebx, [esp + 0x114]
call fcn.0041a640
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x41856b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ebp, eax
mov al, byte [edx + 1]
mov dword [esp + 0x10], ebp
cmp al, byte [0x49d350]
je 0x418d43
test al, al
je 0x418d43
cmp al, 0x20
je 0x418d43
cmp al, 9
je 0x418d43
cmp al, 0x28
jne 0x4185a3
lea eax, [esp + 0x108]
push 0x4920e8
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
je 0x418d43
lea ecx, [esp + 0x108]
push 0x4920ec
push ecx
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x4185a3
mov byte [esp + 0x1a], 1
jmp 0x4185a8
cmp byte [esp + 0x8720], 0
jne 0x4196b5
cmp byte [esp + 0x8724], 0
jne case.0x4191bf.39
cmp byte [esp + 0x1a], 0
je 0x419197
lea eax, [esp + 0x108]
push 0x4920e8
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x419197
mov ebp, dword [esp + 0x10]
mov al, byte [ebp]
cmp al, 0x28
je case.0x418e72.34
cmp al, byte [0x49d351]
jne 0x418dbb
mov al, byte [ebp + 1]
cmp al, 0x20
je case.0x418e72.34
cmp al, 9
je case.0x418e72.34
mov cl, byte [0x49d350]
lea edi, [esp + 0x40]
mov eax, ebp
mov byte [esp + 0x40], 0x20
mov byte [esp + 0x41], cl
mov dword [esp + 0x42], 0x3e3c0928
mov dword [esp + 0x46], 0x2d2b3d3a
mov dword [esp + 0x4a], 0x7e212f2a
mov dword [esp + 0x4e], 0x5b5e7c26
mov word [esp + 0x52], 0x3f2e
mov byte [esp + 0x54], 0
call fcn.00408bf0
test eax, eax
je 0x418e18
mov cl, byte [eax]
cmp cl, 0x20
je 0x418e11
cmp cl, 9
jne 0x418e14
inc eax
jmp 0x418e05
mov edi, eax
jmp 0x418e2c
mov eax, ebp
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418e20
sub eax, edx
lea edi, [eax + ebp]
push 3
push 0x4916e8
push ebp
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x418e5a
movsx eax, byte [ebp + 3]
push eax
lea edx, [esp + 0x44]
push edx
call fcn.00477c01
add esp, 8
test eax, eax
je 0x418e5a
mov bl, 1
jmp 0x418e5c
xor bl, bl
movsx eax, byte [edi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x418e72.34
movzx eax, byte [eax + 0x41a404]
jmp dword [eax*4 + 0x41a3e0]
mov byte [esp + 0x8720], 0x13
jmp 0x418ea9
movsx eax, byte [edi + 1]
sub eax, 0x3d
je 0x418e9d
dec eax
je 0x418f73
mov byte [esp + 0x8720], 0x17
jmp 0x418ea9
mov byte [esp + 0x8720], 0x18
mov byte [edi + 1], 0x20
movzx eax, byte [0x49d350]
mov byte [edi], al
mov al, byte [esp + 0x8720]
cmp al, 0x10
je 0x418ec5
cmp al, 0x11
jne 0x4185cc
push 0x492164
mov eax, edi
call 0x464370
mov esi, eax
add esp, 4
test esi, esi
je 0x418f26
lea ebx, [ebx]
movsx eax, byte [esi - 1]
push eax
push 0x4918e4
call fcn.00477c01
add esp, 8
test eax, eax
je 0x418f10
movsx eax, byte [esi + 3]
push eax
push 0x4918e4
call fcn.00477c01
add esp, 8
test eax, eax
jne 0x419184
push 0x492164
lea eax, [esi + 3]
call 0x464370
mov esi, eax
add esp, 4
test esi, esi
jne 0x418ee0
mov ecx, dword [esp + 0x871c]
push ecx
mov ecx, dword [esp + 0x18]
push 0x492738
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
cmp byte [edi + 1], 0x3d
jne 0x418f5c
mov byte [esp + 0x8720], 0x16
jmp 0x418ea5
mov byte [esp + 0x8720], 0x15
jmp 0x418ea9
cmp byte [edi + 1], 0x3d
jne case.0x418e72.34
mov byte [esp + 0x8720], 0x14
jmp 0x418ea5
test bl, bl
jne case.0x418e72.34
push 7
push 0x491094
push edi
call fcn.00477695
add esp, 0xc
test eax, eax
jne case.0x418e72.34
mov eax, 0x20202020
mov dword [edi], eax
mov word [edi + 4], ax
mov byte [esp + 0x8720], 0x10
mov byte [edi + 6], al
jmp 0x418ea9
test bl, bl
jne case.0x418e72.34
push 8
push 0x4910b8
push edi
call fcn.00477695
add esp, 0xc
test eax, eax
jne case.0x418e72.34
mov eax, 0x20202020
mov dword [edi], eax
mov byte [esp + 0x8720], 0xc
mov dword [edi + 4], eax
jmp 0x418ea9
mov al, byte [edi + 1]
call fcn.00408bc0
movsx eax, al
add eax, 0xffffffb2
cmp eax, 0x25
ja case.0x418e72.34
movzx ecx, byte [eax + 0x41a460]
jmp dword [ecx*4 + 0x41a454]
test bl, bl
je 0x419015
mov byte [esp + 0x8720], 0x12
jmp 0x419068
lea esi, [edi + 2]
mov al, byte [esi]
cmp al, 0x20
je 0x419022
cmp al, 9
jne 0x419025
inc esi
jmp 0x419018
push 3
push 0x492734
push esi
call fcn.00477695
add esp, 0xc
test eax, eax
je 0x419043
mov byte [esp + 0x8720], 0xe
jmp 0x419056
mov eax, 0x20202020
mov word [esi], ax
mov byte [esp + 0x8720], 0xf
mov byte [esi + 2], al
cmp byte [esp + 0x8720], 0x12
mov byte [edi + 1], 0x20
jne 0x418ea9
mov eax, ebp
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x419070
sub eax, edx
cmp byte [eax + ebp - 1], 0x7b
lea eax, [eax + ebp - 1]
jne 0x4196b5
mov byte [eax], cl
sub eax, ebp
mov esi, ebp
call fcn.00411c20
mov byte [esp + 0x19], 1
jmp 0x4196b5
test bl, bl
je 0x4190ab
mov byte [esp + 0x8720], 0x12
jmp 0x419068
mov byte [esp + 0x8720], 0xa
jmp 0x418ea5
push 3
push 0x492734
push edi
call fcn.00477695
add esp, 0xc
test eax, eax
jne case.0x418e72.34
mov al, byte [edi + 3]
lea esi, [edi + 3]
cmp al, 0x20
je 0x4190e2
cmp al, 9
jne case.0x418e72.34
mov eax, 0x20202020
mov word [edi], ax
mov byte [edi + 2], al
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x20
je 0x4190fa
cmp al, 9
jne 0x4190fd
inc esi
jmp 0x4190f0
push 2
push 0x4910cc
push esi
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x419126
mov edx, 0x20202020
mov byte [esp + 0x8720], 0xb
mov word [esi], dx
jmp 0x418ea9
push 7
push 0x491094
push esi
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x419155
mov eax, 0x20202020
mov dword [esi], eax
mov word [esi + 4], ax
mov byte [esp + 0x8720], 0x11
mov byte [esi + 6], al
jmp 0x418ea9
push 8
push 0x4910b8
push esi
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x418ea9
mov eax, 0x20202020
mov dword [esi], eax
mov byte [esp + 0x8720], 0xd
mov dword [esi + 4], eax
jmp 0x418ea9
mov dl, byte [0x49d350]
mov byte [esi], dl
mov word [esi + 1], 0x2020
jmp 0x4185cc
mov esi, dword [esp + 0x10]
mov cl, byte [esi]
mov bl, byte [0x49d350]
mov al, byte [esi + 1]
movsx edx, cl
add edx, 0xffffffda
lea ebp, [esi + 1]
cmp edx, 0x56
ja case.0x4191bf.39
movzx edx, byte [edx + 0x41a4b0]
jmp dword [edx*4 + 0x41a488]
mov byte [esp + 0x8720], 1
jmp 0x4194f1
cmp al, 0x3d
jne case.0x4191bf.39
mov byte [esp + 0x8720], 2
jmp 0x419490
cmp byte [esp + 0x108], 0x2b
jne 0x419200
cmp byte [esp + 0x109], 0
jne 0x419200
mov cl, 1
jmp 0x41920a
xor cl, cl
cmp al, 0x3d
jne case.0x4191bf.39
mov byte [esp + 0x8720], 4
test cl, cl
je 0x41947c
mov ebx, ebp
lea esp, [esp]
mov al, byte [ebx]
cmp al, 0x20
je 0x41922e
cmp al, 9
jne 0x41940b
inc ebx
jmp 0x419220
cmp byte [esp + 0x108], 0x2d
jne 0x419251
cmp byte [esp + 0x109], 0
jne 0x419251
mov cl, 1
mov byte [esp + 0x8720], 5
jmp 0x419212
xor cl, cl
cmp al, 0x3d
jne case.0x4191bf.39
mov byte [esp + 0x8720], 5
jmp 0x419212
cmp al, 0x3d
jne case.0x4191bf.39
mov byte [esp + 0x8720], 6
jmp 0x419490
cmp al, 0x3d
jne 0x41928b
mov byte [esp + 0x8720], 7
jmp 0x419490
cmp al, 0x2f
jne case.0x4191bf.39
cmp byte [esi + 2], 0x3d
jne case.0x4191bf.39
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
cmp al, 0x3d
jne case.0x4191bf.39
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
cmp al, cl
jne case.0x4191bf.39
cmp byte [esi + 2], 0x3d
jne case.0x4191bf.39
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
mov bl, 0x3d
cmp al, bl
jne 0x419325
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
mov edi, ebp
mov esi, edi
lea esp, [esp]
mov al, byte [esi]
mov ecx, 0x107
call fcn.00408ba0
test eax, eax
jne 0x419345
cmp byte [esi], 0x5f
jne 0x419348
inc esi
jmp 0x419330
cmp byte [esi], 0x28
je 0x41929d
cmp esi, edi
je case.0x4191bf.39
mov al, byte [esi]
cmp al, 0x20
je 0x41935f
cmp al, 9
jne 0x419362
inc esi
jmp 0x419355
mov al, byte [esi]
cmp al, 0x5b
je 0x41929d
test al, al
je 0x41929d
cmp byte [esi + 1], bl
lea edi, [esi + 1]
jne 0x419395
movsx eax, al
push eax
push 0x492758
call fcn.00477c01
add esp, 8
test eax, eax
jne 0x41929d
movsx eax, byte [esi]
push eax
push 0x492764
call fcn.00477c01
add esp, 8
test eax, eax
je 0x4193b9
mov al, byte [edi]
cmp al, byte [esi]
jne 0x4193b9
cmp byte [esi + 2], bl
je 0x41929d
cmp byte [esi], 0x2e
je 0x419327
mov ebp, dword [esp + 0x10]
cmp byte [esp + 0x1a], 0
je 0x419577
cmp byte [esp + 0x8724], 0
jne 0x419577
lea edi, [esp + 0x108]
call fcn.0041a720
mov byte [esp + 0x8720], al
test al, al
jne 0x4196b5
call fcn.0041a760
mov byte [esp + 0x8724], al
jmp 0x419585
mov edi, 0x492768
mov eax, ebx
call fcn.00408bf0
test eax, eax
je 0x419435
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x419440
sub eax, edx
mov edi, eax
lea esi, [edi + 1]
push esi
push ebx
mov ebx, dword [esp + 0x8724]
push ebx
call fcn.004777f0
mov cl, byte [0x49d350]
mov edx, ebx
mov byte [edi + ebx], cl
add esp, 0xc
mov word [esi + ebx], 0x31
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
cmp byte [esp + 0x8720], 3
je 0x419501
cmp byte [esp + 0x8720], 1
je 0x4194e3
mov esi, dword [esp + 0x10]
mov al, byte [esi + 2]
add esi, 2
xor dl, dl
xor edi, edi
test al, al
je 0x4194e3
movsx ecx, al
add ecx, 0xffffffde
cmp ecx, 0x3b
ja case.0x4194b4.35
movzx ecx, byte [ecx + 0x41a518]
jmp dword [ecx*4 + 0x41a508]
test dl, dl
sete dl
jmp case.0x4194b4.35
test dl, dl
jne case.0x4194b4.35
inc edi
jmp case.0x4194b4.35
test dl, dl
jne case.0x4194b4.35
dec edi
cmp al, bl
jne 0x4194db
test dl, dl
jne 0x4194db
cmp edi, 1
jl 0x419513
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4194a2
cmp byte [esp + 0x8720], 3
je 0x419501
mov esi, dword [esp + 0x10]
cmp byte [esp + 0x8720], 1
mov byte [esi], bl
je 0x419501
mov byte [ebp], 0x20
mov edx, dword [esp + 0x871c]
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
mov al, byte [esp + 0x8720]
cmp al, 4
je 0x41953c
cmp al, 5
je 0x41953c
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
lea eax, [esi + 1]
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x41954c
cmp cl, 9
jne 0x41954f
inc eax
jmp 0x419540
mov edi, 0x492768
call fcn.00408bf0
test eax, eax
je 0x4194e3
mov edx, dword [esp + 0x871c]
mov byte [esp + 0x8720], 3
mov dword [esp + 0x10], edx
mov ebp, edx
jmp 0x4185cc
cmp byte [esp + 0x8720], 0
jne 0x4196b5
mov al, byte [esp + 0x8724]
test al, al
jne 0x4196d3
lea eax, [esp + 0x108]
push 0x492780
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x4195c4
cmp byte [ebp], al
jne 0x4195c4
mov byte [esp + 0x8720], 0x68
mov byte [esp + 0x19], 1
jmp 0x4196b5
movsx eax, byte [ebp]
push eax
push 0x492768
call fcn.00477c01
add esp, 8
test eax, eax
je 0x419661
mov al, byte [ebp]
cmp al, 0x2b
je 0x4195e9
cmp al, 0x2d
jne 0x419636
cmp byte [ebp + 1], al
jne 0x419636
cmp byte [ebp + 2], 0
je 0x4195fe
mov byte [esp + 0x8720], 3
jmp 0x419619
mov cl, byte [0x49d350]
cmp al, 0x2b
setne al
add al, 4
mov byte [esp + 0x8720], al
mov byte [ebp], cl
mov byte [ebp + 1], 0x31
cmp byte [esp + 0x8720], 0
mov esi, dword [esp + 0x871c]
mov ebp, esi
mov dword [esp + 0x10], ebp
jne 0x4196b5
jmp 0x419668
cmp al, 0x3f
je 0x419658
push 0x3f
push ebp
call fcn.00477c01
add esp, 8
test eax, eax
je 0x419661
push 0x3a
push eax
call fcn.00477c01
add esp, 8
test eax, eax
je 0x419661
mov ebp, dword [esp + 0x871c]
jmp 0x4196a9
mov esi, dword [esp + 0x871c]
mov al, byte [ebp]
cmp al, 0x28
je 0x4196a7
cmp al, 0x5b
je 0x4196a7
push 0x492188
push esi
call fcn.00477d42
add esp, 8
test eax, eax
mov eax, 0x492788
jne 0x41968f
mov eax, 0x492298
mov ecx, dword [esp + 0x14]
push esi
push eax
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ebp, esi
mov dword [esp + 0x10], ebp
mov byte [esp + 0x8720], 3
movzx eax, byte [esp + 0x8720]
lea edx, [eax*8]
sub edx, eax
lea eax, [edx*2 + 0x49d3e0]
mov dword [esp + 0x38], eax
jmp 0x4196ea
movzx eax, al
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*2 + 0x49dfe0]
mov dword [esp + 0x38], edx
push 0x4001
lea eax, [esp + 0x70c]
push 0
push eax
call fcn.004812e0
mov edx, dword [esp + 0x873c]
add esp, 0xc
test edx, edx
je 0x4197a1
mov ecx, dword [esp + 0x8734]
mov eax, ebp
sub eax, dword [esp + 0x24]
sub ecx, eax
test ecx, ecx
jle 0x419737
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x710]
push ecx
call fcn.0047b470
add esp, 0xc
xor esi, esi