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 str.EXE_corrupted
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
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
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 str.screenheight
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
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
push edi
push str.screenheight
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 fcn.00464370
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 fcn.00464370
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 str.Missing_____before__:_
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, str.screenheight
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
mov al, byte [esp + 0x8720]
mov dword [esp + 0x1c], 0
cmp al, 0x22
jne 0x41994f
mov ebx, dword [esp + 0x10]
xor ebp, ebp
xor esi, esi
cmp byte [ebx], 0
je 0x419a24
mov dl, byte [0x49d350]
cmp ebp, 0x14
jge 0x419849
mov al, byte [esi + ebx]
lea ecx, [esi + ebx]
test al, al
je 0x41983f
lea edi, [esp + 0x708]
sub edi, ebx
cmp al, dl
jne 0x419793
cmp byte [edi + ecx], 0
je 0x419833
mov al, byte [ecx + 1]
inc ecx
inc esi
test al, al
jne 0x419785
jmp 0x41983f
xor esi, esi
cmp byte [esi + ebp], 0
mov al, byte [0x49d352]
je 0x4197bc
mov edi, edi
cmp byte [esi + ebp], al
je 0x4197bc
inc esi
cmp byte [esi + ebp], 0
jne 0x4197b0
cmp byte [esi + ebp], 0
lea ebx, [esi + ebp]
je 0x419737
movsx eax, byte [esi + ebp + 1]
lea ecx, [esi + ebp + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4197e1.99
movzx edx, byte [eax + 0x41a574]
jmp dword [edx*4 + 0x41a554]
mov byte [ecx], 7
jmp case.0x4197e1.99
mov byte [ecx], 8
jmp case.0x4197e1.99
mov byte [ecx], 0xc
jmp case.0x4197e1.99
mov byte [ecx], 0xa
jmp case.0x4197e1.99
mov byte [ecx], 0xd
jmp case.0x4197e1.99
mov byte [ecx], 9
jmp case.0x4197e1.99
mov byte [ecx], 0xb
mov eax, ecx
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419810
sub eax, edi
inc eax
push eax
push ecx
push ebx
call fcn.0047b470
add esp, 0xc
mov byte [esp + esi + 0x708], 1
inc esi
jmp 0x4197a3
lea eax, [esi + ebx]
mov dword [esp + ebp*4 + 0xb0], eax
inc ebp
inc esi
cmp byte [esi + ebx], 0
jne 0x419765
test ebp, ebp
je 0x419a24
cmp ebp, 1
jg 0x419863
mov dword [esp + 0x1c], 1
jmp 0x419a24
mov esi, dword [esp + 0xb0]
push 0
push 0
push 1
push 0
mov eax, ebx
mov byte [esi], 0
call fcn.00463e80
add esp, 0x10
test eax, eax
jne 0x41988b
mov dword [esp + 0x1c], 1
cmp dword [esp + 0x1c], 0
mov cl, byte [0x49d350]
mov byte [esi], cl
jne 0x419a24
mov edi, 3
cmp ebp, edi
jne 0x419902
mov esi, dword [esp + 0xb8]
push 0
push 1
push 1
push 0
lea eax, [esi + 1]
call fcn.00463e80
add esp, 0x10
test eax, eax
jne 0x419a24
lea eax, [esi + 1]
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4198dc
cmp cl, 9
jne 0x4198df
inc eax
jmp 0x4198d0
mov dl, byte [eax]
cmp dl, byte [0x49d351]
jne 0x4198f9
sub eax, ebx
cmp byte [esp + eax + 0x708], 0
je 0x419a24
mov dword [esp + 0x1c], edi
jmp 0x419a24
jle 0x419a24
mov eax, dword [esp + 0xb4]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x41990f
cmp cl, 9
je 0x41990f
cmp cl, byte [0x49d351]
jne 0x419946
mov edx, eax
sub edx, ebx
cmp byte [esp + edx + 0x708], 0
jne 0x419946
mov al, byte [eax + 1]
cmp al, 0x20
je 0x419a24
cmp al, 9
je 0x419a24
mov dword [esp + 0x1c], edi
jmp 0x419a24
cmp al, 0x69
jne 0x419a24
mov edi, dword [esp + 0x10]
cmp byte [edi], 0
mov esi, edi
je 0x4199a1
mov al, byte [esi]
cmp al, 0x20
je 0x41996c
cmp al, 9
jne 0x41999b
movsx eax, byte [esi + 1]
push eax
call fcn.00479c43
add esp, 4
cmp eax, 0x69
jne 0x41999b
movsx ecx, byte [esi + 2]
push ecx
call fcn.00479c43
add esp, 4
cmp eax, 0x6e
jne 0x41999b
mov al, byte [esi + 3]
cmp al, 0x20
je 0x4199a1
cmp al, 9
je 0x4199a1
inc esi
cmp byte [esi], 0
jne 0x419962
cmp byte [esi], 0
mov dl, byte [0x49d350]
jne 0x4199cf
mov edx, dword [esp + 0x871c]
mov ecx, dword [esp + 0x14]
push edx
push 0x492798
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, esi
sub eax, edi
mov ecx, 1
test eax, eax
jle 0x4199eb
lea esp, [esp]
cmp byte [eax + edi], dl
jne 0x4199e6
inc ecx
dec eax
test eax, eax
jg 0x4199e0
mov byte [esi + 1], dl
cmp ecx, 1
jle 0x419a21
cmp ecx, 2
jle 0x419a1b
mov eax, dword [esp + 0x871c]
mov ecx, dword [esp + 0x14]
push eax
push 0x4927b8
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov byte [esi + 2], 0x20
jmp 0x419a24
mov byte [esi + 2], dl
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov byte [esp + 0x3c], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
cmp ecx, eax
je 0x419a46
mov dword [esp + 0x24], ecx
jmp 0x419a6f
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x4cf], al
je 0x419a63
mov edx, dword [esp + 0x38]
movsx ecx, byte [edx + 6]
and ecx, 0x7f
mov dword [esp + 0x24], ecx
jmp 0x419a6f
mov ecx, dword [esp + 0x38]
movsx edx, byte [ecx + 5]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
xor esi, esi
xor ebp, ebp
cmp byte [eax], 0
mov dword [esp + 0x20], esi
je 0x419c8b
cmp esi, dword [esp + 0x24]
jge 0x419c8b
cmp esi, 2
jne 0x419aef
mov cl, byte [esp + 0x8720]
sub cl, 0x19
cmp cl, 3
ja 0x419ae4
mov eax, dword [esp + 0x10]
add eax, ebp
push 0
push eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
push eax
lea ebx, [esp + 0x214]
call fcn.0041a640
mov dword [esp + 0x34], eax
test eax, eax
je 0x419ae4
mov edi, ebx
call fcn.0041a720
mov byte [esp + 0x3c], al
test al, al
jne 0x419c8b
call fcn.0041a760
mov byte [esp + 0x2c], al
cmp byte [esp + 0x2c], 0
jne 0x419c8b
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
lea ecx, [esp + esi*4 + 0x58]
add eax, ebp
mov dword [esp + 0xa8], ecx
mov dword [ecx], eax
dec edx
lea ecx, [esp + ebp + 0x708]
mov dword [esp + esi*4 + 0xb0], ecx
cmp esi, edx
je 0x419c86
mov dl, byte [eax]
cmp dl, byte [0x49d351]
jne 0x419b40
cmp byte [ecx], 0
jne 0x419b40
mov cl, byte [eax + 1]
cmp cl, 0x20
je 0x419b39
cmp cl, 9
jne 0x419b40
mov byte [esp + 0x1b], 1
jmp 0x419b45
mov byte [esp + 0x1b], 0
xor bl, bl
mov dword [esp + 0x1c], 0
test dl, dl
je 0x419c5a
mov edi, eax
lea eax, [esp + 0x708]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x104], eax
mov cl, byte [edi]
movsx eax, cl
add eax, 0xffffffde
mov edx, 1
cmp eax, 0x3b
ja case.0x419b84.35
movzx eax, byte [eax + 0x41a59c]
jmp dword [eax*4 + 0x41a58c]
test bl, bl
sete bl
jmp case.0x419b84.35
test bl, bl
jne case.0x419b84.35
add dword [esp + 0x1c], edx
jmp case.0x419b84.35
test bl, bl
jne case.0x419b84.35
sub dword [esp + 0x1c], edx
cmp cl, byte [0x49d350]
jne 0x419c7a
mov ecx, dword [esp + 0x104]
cmp byte [edi + ecx], 0
jne 0x419c7a
test bl, bl
jne 0x419bcc
cmp dword [esp + 0x1c], 0
jle 0x419c30
cmp byte [esp + 0x1b], 0
jne 0x419c7a
cmp byte [esp + 0x8720], 0x2b
jne 0x419c0f
cmp esi, 2
je 0x419beb
cmp esi, 3
jne 0x419c0f
mov esi, dword [esp + 0x5c]
call fcn.00412b90
cmp eax, 5
ja case.0x419c04.2
movzx edx, byte [eax + 0x41a5e0]
jmp dword [edx*4 + 0x41a5d8]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
add ecx, 7
je 0x419c30
mov al, byte [ecx]
lea edx, [esi + 1]
test al, al
je 0x419c30
movzx eax, al
cmp eax, edx
je 0x419c6f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x419c21
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x10]
mov esi, dword [ecx]
or eax, 0xffffffff
mov byte [edi + ebp], 0
call fcn.00411c20
mov al, byte [edi + ebp + 1]
inc ebp
cmp al, 0x20
je 0x419c49
cmp al, 9
je 0x419c49
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
inc esi
cmp byte [edx + ebp], 0
mov dword [esp + 0x20], esi
jne 0x419a84
jmp 0x419c8b
cmp byte [ecx], 0
jne 0x419c7a
jmp 0x419c30
mov esi, dword [esp + 0x20]
inc edi
inc ebp
cmp byte [edi], 0
je 0x419c5a
jmp 0x419b6b
inc esi
mov dword [esp + 0x20], esi
mov edx, dword [esp + 0x38]
mov al, byte [edx + 4]
movsx ecx, al
cmp esi, ecx
jge 0x419ceb
cmp al, 1
mov eax, 0x4927f0
jg 0x419ca7
mov eax, 0x49588a
push eax
mov eax, dword [edx]
push ecx
push eax
push 0x4927f4
mov esi, 0x400
lea edi, [esp + 0x318]
call fcn.00463ff0
add esp, 0x10
mov ecx, dword [esp + 0x871c]
push ecx
lea edx, [esp + 0x30c]
push edx
mov ecx, dword [esp + 0x1c]
call fcn.00429900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
xor ebp, ebp
xor eax, eax
cmp ecx, ebp
jle 0x419d01
mov edi, dword [esp + eax*4 + 0x58]
inc eax
cmp byte [edi], 0
je 0x419d24
cmp eax, ecx
jl 0x419cf3
mov al, byte [esp + 0x8724]
test al, al
je case.default.0x419d1d
movzx ecx, al
dec ecx
cmp ecx, 0x13
ja case.default.0x419d1d
jmp dword [ecx*4 + 0x41a5e8]
push eax
mov eax, dword [edx]
push eax
push 0x49281c
mov esi, 0x400
lea edi, [esp + 0x314]
call fcn.00463ff0
add esp, 0xc
jmp 0x419cc5
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x58], 0x49588a
cmp al, 0xc
je 0x419d83
mov dword [esp + 0x58], 0x4902ac
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xb0]
push eax
inc esi
push esi
lea ecx, [esp + 0x60]
push ecx
push 0x56
push edx
mov dword [esp + 0xc4], ebp
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x58], 0x4902b4
cmp al, 0xe
je 0x419e1e
mov dword [esp + 0x58], 0x4902ac
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xb0]
push eax
inc esi
push esi
lea ecx, [esp + 0x60]
push ecx
push 0x57
push edx
mov dword [esp + 0xc4], ebp
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, dword [esp + 0x58]
push str.____t
push eax
call fcn.00476cb6
add esp, 8
mov dword [esp + 0x5c], 0x491e4c
test eax, eax
jne 0x419e73
mov dword [esp + 0x5c], 0x491e54
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
push ecx
push 2
lea edx, [esp + 0x60]
push edx
push 0xd4
push eax
mov dword [esp + 0x6c], 0x491fe4
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
lea ecx, [esp + 0xb0]
push ecx
push esi
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x60]
push edx
push 8
push esi
call fcn.0041a810
test eax, eax
je 0x418bc4
push ebp
push ebp
push ebp
push 0x6e
push esi
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, dword [esp + 0x14]
push ebp
push ebp
push ebp
push 0x6f
push eax
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
push ecx
mov dword [esp + esi*4 + 0x5c], str.Next
mov dword [esp + esi*4 + 0xb4], ebp
inc esi
push esi
lea edx, [esp + 0x60]
push edx
push 0x84
push eax
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x5c]
lea ecx, [esp + 0xb0]
push ecx
push 2
lea edx, [esp + 0x60]
push edx
push 0x84
mov edi, str.Next
push ebx
mov dword [esp + 0x70], edi
mov dword [esp + 0xc8], ebp
call fcn.0041a810
test eax, eax
je 0x418bc4
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xb0]
push eax
push 5
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0xcc]
push 0x87
push ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0xd4], ebp
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xb0]
push edx
push esi
lea eax, [esp + 0x60]
push eax
push 1
push ecx
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xb0]
push edx
push esi
lea eax, [esp + 0x60]
push eax
push 4
push ecx
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xb0]
push edx
push esi
lea eax, [esp + 0x60]
push eax
push 5
push ecx
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xb0]
push edx
push esi
lea eax, [esp + 0x60]
push eax
push 6
push ecx
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xb0]
push edx
push esi
lea eax, [esp + 0x60]
push eax
push 7
push ecx
call fcn.0041a810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov byte [esp + 0x8720], 0x13
jmp case.default.0x419d1d
mov byte [esp + 0x8720], 0x14
jmp case.default.0x419d1d
mov byte [esp + 0x8720], 0x15
jmp case.default.0x419d1d
mov byte [esp + 0x8720], 0x16
jmp case.default.0x419d1d
mov byte [esp + 0x8720], 0x17
jmp case.default.0x419d1d
mov byte [esp + 0x8720], 0x18
cmp esi, ebp
je 0x41a1dd
cmp byte [esp + 0x3c], 0
jne 0x41a1dd
cmp byte [esp + 0x2c], 0
jne 0x41a1dd
mov dl, byte [esp + 0x8720]
sub dl, 0x13
cmp dl, 0xe
ja 0x41a1dd
cmp byte [esp + 0x8720], 0x18
ja 0x41a138
mov al, byte [esp + 0x8724]
sub al, 6
cmp al, 5
ja 0x41a1dd
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x54]
sub eax, ebp
mov cl, byte [eax + ebp]
lea edi, [eax + ebp]
test cl, cl
je 0x41a1e1
mov dl, byte [0x49d350]
lea esi, [esp + 0x708]
sub esi, ebp
cmp cl, dl
jne 0x41a16d
cmp byte [esi + edi], 0
je 0x41a178
mov cl, byte [edi + 1]
inc edi
inc eax
test cl, cl
jne 0x41a163
jmp 0x41a1e1
lea esi, [eax + ebp]
mov cl, byte [eax + ebp + 1]
inc eax
cmp cl, 0x20
je 0x41a17b
cmp cl, 9
je 0x41a17b
mov ecx, dword [esp + 0x14]
add eax, ebp
push 0
push eax
push ecx
lea ebx, [esp + 0x214]
mov dword [esp + 0x3c], eax
call fcn.0041a640
mov dword [esp + 0x34], eax
test eax, eax
je 0x41a1e1
mov edi, ebx
call fcn.0041a720
mov byte [esp + 0x3c], al
test al, al
jne 0x41a1c8
call fcn.0041a760
mov byte [esp + 0x2c], al
test al, al
je 0x41a1e1
mov edx, dword [esp + 0x20]
mov byte [esi], 0
mov esi, dword [esp + edx*4 + 0x54]
or eax, 0xffffffff
call fcn.00411c20
jmp 0x41a1e1
mov ebp, dword [esp + 0x10]
mov bl, byte [esp + 0x8720]
cmp bl, 0x68
je 0x41a1f2
cmp bl, 0x6a
jne 0x41a206
mov edi, dword [esp + 0x20]
cmp edi, 1
jne 0x41a20a
mov eax, dword [esp + 0x58]
cmp byte [eax], 0
jne 0x41a213
jmp 0x41a20a
mov edi, dword [esp + 0x20]
cmp bl, 0x69
jne 0x41a250
test edi, edi
je 0x41a250
mov esi, dword [esp + edi*4 + 0x54]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a220
sub eax, edx
cmp byte [esi + eax - 1], 0x7b
jne 0x41a250
mov byte [esi + eax - 1], cl
or eax, 0xffffffff
mov byte [esp + 0x19], 1
call fcn.00411c20
test eax, eax
jne 0x41a250
cmp bl, 0x68
jne 0x41a2f2
xor edi, edi
mov ecx, dword [esp + 0x8720]
lea edx, [esp + 0xb0]
push edx
push edi
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x60]
push eax
push ecx
push edi
call fcn.0041a810
test eax, eax
je 0x418bc4
cmp byte [esp + 0x19], 0
je 0x41a295
push 0
push 0
push 0
push 0x6e
push edi
call fcn.0041a810
test eax, eax
je 0x418bc4
cmp byte [esp + 0x3c], 0
jne 0x41a2a7
cmp byte [esp + 0x2c], 0
je 0x418c91
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a2b0
sub eax, edx
push eax
mov edx, esi
sub edx, ebp
lea eax, [esp + edx + 0x70c]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
push esi
lea ecx, [esp + 0x214]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
mov ecx, edi
call fcn.00418520
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x871c]
push ecx
push 0x4925e4
jmp 0x419cd5