Function at 0x417f20
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x10c
mov dword [ebp - 0xd4], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xd8], 0
xor eax, eax
test edx, edx
je 0x4180c3
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, ecx
cmp eax, 0x1000
jg 0x418bf1
sub esp, 0xc
lea eax, [ebp - 0xbc]
lea edx, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x10c]
call fcn.00416250
lea esi, [esi]
add esp, 0x10
mov edx, dword [ebp - 0x10c]
mov edi, dword [edx + 0x54]
test edi, edi
je 0x417f9d
cmp dword [edx + 0xd4], 1
je 0x4180c1
mov ecx, dword [ebp - 0x10c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x110], ecx
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
jne 0x417ff5
mov ebx, dword [ebp - 0x10c]
cmp dword [ebx + 0x28], 1
jle 0x417ff5
sub esp, 0xc
mov esi, dword [ebp - 0x10c]
push esi
call fcn.00406f90
mov esi, dword [ebp - 0x10c]
add esp, 0x10
mov esi, dword [esi + 0x24]
mov dword [ebp - 0x110], esi
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
jne 0x417ff5
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 0x28], 1
jg 0x417fc0
mov ebx, dword [ebp - 0x110]
test ebx, ebx
je 0x4181a4
mov edx, dword [ebp - 0x110]
mov eax, dword [edx]
test eax, eax
jne 0x4180d0
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, ecx
mov ebx, dword [edx + 0x18]
sub ebx, eax
test ebx, ebx
jle 0x4181a4
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0xac]
inc eax
cmp eax, 0x11
ja case.default.0x41803e
jmp dword [eax*4 + 0x741b2c]
mov ebx, dword [ebp - 0x10c]
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x110], ebx
mov eax, dword [ebx + 0x10]
sub eax, esi
mov dword [ebx + 0x10], eax
push eax
mov esi, dword [ebp - 0x110]
lea ebx, [ebp - 0xb8]
mov eax, dword [esi + 0x10]
mov al, byte [eax + 3]
and eax, 0xff
push eax
mov eax, dword [esi + 0x10]
mov al, byte [eax + 2]
and eax, 0xff
push eax
mov eax, dword [esi + 0x10]
mov al, byte [eax + 1]
and eax, 0xff
push eax
mov eax, dword [esi + 0x10]
mov al, byte [eax]
and eax, 0xff
push eax
push 0x741928
push 0x95
push ebx
call sub.msvcrt.dll__snprintf
add esp, 0x14
push 0
push ebx
push 0x74194c
push 9
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00453610
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0xc
mov edi, dword [eax + 0x10]
push edi
call fcn.0048a840
add esp, 0x10
test eax, eax
je 0x418119
mov edi, dword [ebp - 0x10c]
sub esp, 0xc
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov ebx, dword [eax + 0x10]
push ebx
call fcn.0048a7a0
mov ebx, eax
mov eax, dword [edi + 0x24]
mov edx, eax
mov dword [ebp - 0x110], eax
mov eax, dword [eax + 0x10]
add esp, 0x10
mov ecx, dword [edx + 0xc]
sub eax, ecx
sub ebx, eax
jmp 0x418020
push esi
push esi
mov ecx, dword [ebp - 0x10c]
mov ebx, dword [ecx + 0x24]
push ebx
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.0048b2f0
mov ebx, dword [ebp - 0x10c]
add esp, 0xc
mov esi, eax
mov eax, dword [ebx + 0x24]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
push 0x740248
push 0
sub ebx, edx
mov eax, dword [eax]
push eax
call fcn.0041fad0
push ebx
push esi
mov esi, dword [ebp - 0x10c]
mov edi, dword [esi + 0x24]
push edi
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
push esi
call fcn.0048b370
add esp, 0x20
jmp 0x4180e3
mov eax, ebx
call fcn.00406f40
mov eax, dword [ebx]
mov dword [ebx + 0xac], 0xffffffff
test eax, eax
je 0x4181a4
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4181a4
sub esp, 0xc
mov edx, dword [ebx + 4]
push edx
call eax
add esp, 0x10
mov eax, dword [ebp - 0xd8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push eax
push str.PP:_internal_error__state__PUBLIC_LITERAL_n
mov eax, dword [0x78d288]
push eax
call dword [0x69a2a8]
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xac], 6
jmp 0x417f80
push edx
push edx
push str.PP:_internal_error__state__IGNORE
mov eax, dword [0x78d288]
push eax
call dword [0x69a2a8]
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xac], 3
jmp 0x417f80
sub esp, 0xc
mov esi, dword [ebp - 0x10c]
push esi
call fcn.0040ede0
mov edx, dword [ebp - 0x10c]
add esp, 0x10
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x110], edx
mov eax, dword [edx]
test eax, eax
jne 0x4191ce
mov ebx, dword [edx + 0xc]
mov eax, dword [edx + 0x10]
sub eax, ebx
mov ebx, dword [edx + 0x18]
sub ebx, eax
cmp ebx, 1
jle 0x4181a4
mov esi, dword [ebp - 0x110]
mov edx, dword [esi + 0x10]
mov al, byte [edx]
mov byte [ebp - 0xd9], al
cmp al, 0x3c
mov cl, byte [edx + 1]
sete al
mov byte [ebp - 0xda], cl
xor ecx, ecx
mov cl, al
cmp byte [ebp - 0xda], 0x3f
sete al
test eax, ecx
je 0x419002
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x4182a3
push eax
push eax
push 0
push 0x3e
mov edx, 0x3f
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419d88
sub esp, 0xc
mov edi, dword [ebp - 0x10c]
push edi
call fcn.004134c0
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 0xe
mov dword [ebx + 0x124], 1
jmp 0x417f80
push ecx
push ecx
push str.PP:_internal_error__state__SYSTEM_LITERAL_n
mov edx, dword [0x78d288]
push edx
call dword [0x69a2a8]
mov edi, dword [ebp - 0x10c]
mov dword [edi + 0xac], 6
jmp 0x417f80
push esi
push esi
push str.PP:_internal_error__state__ATTRIBUTE_VALUE_n
mov ebx, dword [0x78d288]
push ebx
call dword [0x69a2a8]
mov esi, dword [ebp - 0x10c]
mov dword [esi + 0xac], 6
jmp 0x417f80
push eax
push eax
push str.PP:_internal_error__state__ENTITY_VALUE_n
mov edi, dword [0x78d288]
push edi
call dword [0x69a2a8]
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 7
jmp 0x417f80
push eax
push eax
push str.PP:_internal_error__state__ENTITY_DECL_n
mov eax, dword [0x78d288]
push eax
call dword [0x69a2a8]
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0xac], 3
jmp 0x417f80
dec ebx
jle 0x4181a4
mov edi, dword [ebp - 0xd4]
test edi, edi
jne 0x4183b6
mov edx, dword [ebp - 0x10c]
mov esi, dword [edx + 0x124]
test esi, esi
je 0x419850
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x4181a4
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 0x10], eax
jae 0x4181a4
mov ebx, dword [ebp - 0x10c]
mov ecx, dword [ebx + 0x144]
test ecx, ecx
je 0x418ff0
mov eax, dword [ebx + 0xbc]
mov edx, dword [ebx + 0x158]
push 0
lea eax, [eax + eax*2]
shl eax, 2
add eax, edx
mov edi, dword [eax - 4]
push edi
push 0
mov esi, dword [eax - 8]
push esi
mov edx, dword [eax - 0xc]
mov eax, ebx
call fcn.004100e0
mov eax, dword [ebx + 0xbc]
add esp, 0x10
test eax, eax
jle 0x418429
lea edx, [eax - 1]
mov dword [ebx + 0xbc], edx
test edx, edx
jle 0x419876
mov ecx, dword [ebx + 0xc4]
mov eax, dword [ecx + edx*4 - 4]
mov dword [ebx + 0xb8], eax
mov dword [ecx + edx*4], 0
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 0xac], 0xffffffff
je case.default.0x41803e
mov eax, dword [edi + 0xbc]
cmp eax, 1
sbb eax, eax
and eax, 7
add eax, 7
mov dword [edi + 0xac], eax
jmp case.default.0x41803e
push ecx
push ecx
push 0x3e
push 0x5d
mov edx, 0x5d
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
mov dword [ebp - 0xf0], eax
js 0x419e65
mov ebx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
call fcn.00416360
mov edx, eax
mov ebx, eax
shr edx, 0x1f
cmp eax, dword [ebp - 0xf0]
setne al
and eax, 0xff
or edx, eax
jne 0x419fd3
mov esi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [esi]
test ecx, ecx
setne dl
test eax, eax
sete al
and eax, 0xff
test edx, eax
je 0x418cd0
mov ebx, dword [ecx + 0x64]
test ebx, ebx
je 0x418cd0
mov edi, dword [esi + 0xd4]
test edi, edi
jne 0x418cd0
mov edi, dword [esi + 0x24]
mov dword [ebp - 0x110], edi
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
mov eax, edx
sub eax, ecx
cmp eax, 8
jle 0x418545
lea esi, [edx - 9]
mov eax, 0x741a8a
mov edx, 9
mov edi, eax
cld
mov ecx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x418545
push edx
push 0
push 0x740248
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 4]
push eax
call ebx
add esp, 0x10
mov edx, dword [ebp - 0x10c]
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xf0]
xor esi, esi
add edx, 3
cmp edx, 0
jle 0x4185d2
mov edi, dword [ebp - 0x10c]
mov ebx, dword [edi + 0xc8]
jmp 0x418593
mov edi, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x110]
inc esi
mov eax, dword [edi + 0x20]
inc eax
mov dword [edi + 0x20], eax
lea eax, [ebx + 1]
mov ebx, eax
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xc8], ebx
mov eax, dword [ecx + 0x10]
inc eax
cmp edx, esi
mov dword [ecx + 0x10], eax
jle 0x4185d2
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0xa
jne 0x418563
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x20], 1
inc eax
inc esi
mov dword [ecx + 0x1c], eax
lea eax, [ebx + 1]
mov ebx, eax
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xc8], ebx
mov eax, dword [ecx + 0x10]
inc eax
cmp edx, esi
mov dword [ecx + 0x10], eax
jg 0x418593
mov ebx, dword [ebp - 0x110]
mov eax, dword [ebx + 0x10]
cmp byte [eax], 0x25
je 0x419801
mov edi, dword [ebp - 0x110]
mov eax, dword [edi + 0x10]
cmp byte [eax], 0
je 0x419726
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xcc], 0
mov dword [eax + 0xac], 7
jmp case.default.0x41803e
cmp ebx, 1
jle 0x419770
mov edi, dword [ebp - 0x110]
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0x24]
mov al, byte [esi]
mov byte [ebp - 0xd9], al
cmp al, 0x3c
mov dl, byte [esi + 1]
mov dword [ebp - 0xec], ecx
sete al
mov byte [ebp - 0xda], dl
xor edx, edx
mov dl, al
cmp byte [ebp - 0xda], 0x2f
sete al
test eax, edx
je 0x418f01
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 9
jmp case.default.0x41803e
mov edx, dword [ebp - 0x110]
mov byte [ebp - 0xf9], 0
mov eax, dword [edx + 0x10]
mov ebx, eax
sub ebx, dword [edx + 0xc]
js 0x4180c1
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0xcc]
cmp eax, ebx
jle 0x41869e
mov ebx, eax
mov esi, dword [ebp - 0x110]
sub esp, 0xc
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
push eax
call fcn.0048a590
mov edi, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], eax
pop eax
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
call fcn.0048a7a0
add esp, 0x10
cmp ebx, eax
mov dword [ebp - 0x100], eax
jb 0x418702
jmp 0x418cb9
mov edx, dword [ebp - 0xf8]
mov al, byte [ebp - 0xf9]
lea ecx, [ebx + 1]
cmp byte [ebx + edx], al
je 0x418d30
mov ebx, ecx
cmp ecx, dword [ebp - 0x100]
jae 0x418745
cmp byte [ebp - 0xf9], 0
jne 0x4186e0
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ebx + ecx]
cmp dl, 0x3c
je 0x418d3c
cmp dl, 0x22
je 0x418dc0
cmp dl, 0x27
je 0x418dcf
cmp dl, 0x5d
je 0x418c27
lea ecx, [ebx + 1]
mov ebx, ecx
cmp ecx, dword [ebp - 0x100]
jb 0x418702
cmp byte [ebp - 0xf9], 0
je 0x418cb9
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0xcc], 0
jmp 0x4181a4
push ebx
push ebx
push str.PP:_internal_error__state__COMMENT_n
mov ecx, dword [0x78d288]
push ecx
call dword [0x69a2a8]
mov edi, dword [ebp - 0x10c]
mov dword [edi + 0xac], 7
jmp 0x417f80
sub esp, 0xc
mov ebx, dword [ebp - 0x10c]
push ebx
call fcn.0040ede0
mov edx, dword [ebp - 0x10c]
add esp, 0x10
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x110], edx
mov eax, dword [edx]
test eax, eax
jne 0x41919f
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, ecx
mov ebx, dword [edx + 0x18]
sub ebx, eax
cmp ebx, 1
jle 0x4181a4
mov esi, dword [ebp - 0x110]
mov edx, dword [esi + 0x10]
mov al, byte [edx]
cmp al, 0x3c
mov byte [ebp - 0xd9], al
sete al
and eax, 0xff
mov cl, byte [edx + 1]
mov esi, eax
cmp cl, 0x3f
sete al
mov byte [ebp - 0xda], cl
test eax, esi
je 0x418e5d
mov edx, dword [ebp - 0xd4]
test edx, edx
jne 0x418830
push eax
push eax
push 0
push 0x3e
mov edx, 0x3f
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419caf
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004134c0
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 1
mov dword [ebx + 0x124], 1
mov dword [ebx + 0xcc], 0
jmp 0x417f80
mov esi, dword [ebp - 0x10c]
mov eax, dword [esi + 0x100]
test eax, eax
jne 0x419081
cmp ebx, 3
jle 0x4181a4
mov edi, dword [ebp - 0x110]
mov eax, dword [edi + 0x10]
mov al, byte [eax]
mov byte [ebp - 0xc4], al
mov eax, dword [edi + 0x10]
mov al, byte [eax + 1]
mov byte [ebp - 0xc3], al
mov eax, dword [edi + 0x10]
mov al, byte [eax + 2]
mov byte [ebp - 0xc2], al
mov eax, dword [edi + 0x10]
mov al, byte [eax + 3]
mov byte [ebp - 0xc1], al
lea eax, [ebp - 0xc4]
push edi
push edi
push 4
push eax
call fcn.0047eda0
pop ecx
pop ebx
push eax
push esi
call fcn.00454820
jmp 0x417f80
push eax
push eax
push str.PP:_internal_error__state__PI_n
mov eax, dword [0x78d288]
push eax
call dword [0x69a2a8]
mov edx, dword [ebp - 0x10c]
mov dword [edx + 0xac], 7
jmp 0x417f80
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
dec ebx
mov edx, dword [edx + 0x148]
mov dword [ebp - 0xe0], edx
jle 0x419755
mov ebx, dword [ebp - 0x110]
mov eax, dword [ebx + 0x10]
cmp byte [eax], 0x3c
jne 0x419e1c
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
jne 0x418973
mov edi, dword [ebp - 0x10c]
mov edx, dword [edi + 0x124]
test edx, edx
je 0x419827
mov edx, dword [ebp - 0xbc]
test edx, edx
je 0x4181a4
cmp eax, edx
jae 0x4181a4
mov eax, dword [ebp - 0x10c]
mov edi, dword [eax + 0xec]
test edi, edi
je 0x419197
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xe8]
mov edx, dword [eax]
cmp edx, 0xfffffffe
je 0x419785
mov eax, dword [ebp - 0x10c]
call fcn.00406ea0
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ecx + 0x144]
test esi, esi
je 0x418e49
lea eax, [ebp - 0xc8]
push ebx
push ebx
push eax
lea eax, [ebp - 0xcc]
push eax
lea edx, [ebp - 0xd0]
mov eax, ecx
call fcn.0040ef40
mov ebx, dword [ebp - 0x10c]
add esp, 0x10
mov esi, eax
cmp dword [ebx + 0xac], 0xffffffff
je 0x4181a4
test eax, eax
je 0x41817a
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi + 0x68]
test eax, eax
je 0x418a19
mov ebx, dword [edi + 0xc]
test ebx, ebx
je 0x418a19
mov eax, dword [edi + 8]
test eax, eax
jne 0x4194c0
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x110], eax
mov edx, dword [eax + 0x10]
cmp byte [edx], 0x2f
je 0x4191fd
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x3e
je 0x4192e9
push edx
push edx
push esi
push 0x741ae0
mov edx, 0x49
mov eax, dword [ebp - 0x10c]
call fcn.00406330
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00406d60
mov eax, dword [ebp - 0x10c]
call fcn.00406f40
add esp, 0x14
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebx + 0x144]
test eax, eax
je 0x4192d2
mov edx, ebx
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], edi
mov ecx, dword [edx + 0xbc]
mov dword [ebp - 0xe8], eax
mov ebx, dword [ebx + 0x148]
mov eax, dword [ebp - 0xe0]
mov edi, edx
mov edx, dword [edx + 0xc0]
sub ebx, eax
cmp ecx, edx
jge 0x41978c
mov edx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0xe4]
mov eax, dword [edx + 0xc4]
mov dword [eax + ecx*4], esi
lea eax, [ecx + ecx*2]
mov dword [edx + 0xb8], esi
mov esi, edx
shl eax, 2
mov edx, dword [edx + 0x158]
inc ecx
mov dword [eax + edx], edi
add eax, edx
mov edx, dword [ebp - 0xe8]
mov dword [esi + 0xbc], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0xac], 7
mov dword [ecx + 0x124], 1
jmp case.default.0x41803e
sub esp, 0xc
mov ebx, dword [ebp - 0x10c]
push ebx
call fcn.0040ede0
mov eax, dword [ebp - 0x10c]
add esp, 0x10
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x110], eax
mov edx, eax
mov eax, dword [eax]
test eax, eax
jne 0x419168
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, ecx
mov ebx, dword [edx + 0x18]
sub ebx, eax
cmp ebx, 1
jle 0x4181a4
mov esi, dword [ebp - 0x110]
mov edx, dword [esi + 0x10]
mov al, byte [edx]
mov byte [ebp - 0xd9], al
cmp al, 0x3c
mov cl, byte [edx + 1]
sete al
mov byte [ebp - 0xda], cl
xor ecx, ecx
mov cl, al
cmp byte [ebp - 0xda], 0x3f
sete al
test eax, ecx
je 0x418dde
mov edx, dword [ebp - 0xd4]
test edx, edx
jne 0x418bcd
push eax
push eax
push 0
push 0x3e
mov edx, 0x3f
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419fef
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004134c0
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 4
jmp 0x4182c2
mov eax, dword [ebp - 0x10c]
call fcn.00407050
mov edi, dword [ebp - 0x10c]
sub esp, 0xc
lea eax, [ebp - 0xbc]
mov dword [edi + 0xcc], 0
lea edx, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x10c]
jmp 0x417f78
lea ecx, [ebx + 1]
cmp ecx, dword [ebp - 0x100]
jae 0x418cb9
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf8]
add eax, ebx
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0x104], eax
cmp byte [edx + ebx + 1], 0x5d
je 0x4194f2
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf4]
movzx esi, byte [edi + eax]
mov edx, esi
cmp dl, 0x3e
je 0x4198cc
lea eax, [esi - 9]
cmp dl, 0x20
setne dl
cmp al, 1
seta al
and eax, 0xff
test edx, eax
je 0x418c9b
mov eax, esi
cmp al, 0xd
jne 0x4186f8
mov edi, dword [ebp - 0xf4]
inc edi
mov dword [ebp - 0xf4], edi
mov edx, dword [ebp - 0xf4]
lea eax, [ebx + edx]
cmp eax, dword [ebp - 0x100]
jb 0x418c5f
mov esi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0xcc], ebx
jmp 0x4181aa
mov eax, dword [ebp - 0xf0]
test ecx, ecx
setne dl
test eax, eax
setg al
and eax, 0xff
test edx, eax
je 0x418536
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebx + 0xd4]
test eax, eax
jne 0x419440
mov edx, dword [ecx + 0x64]
test edx, edx
jne 0x419700
mov edx, dword [ecx + 0x44]
test edx, edx
jne 0x4198a0
mov ebx, dword [ebp - 0x10c]
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x110], ebx
jmp 0x418545
mov byte [ebp - 0xf9], 0
jmp 0x4186f8
lea eax, [ebx + 4]
cmp eax, dword [ebp - 0x100]
jae 0x418738
cmp byte [ecx + ebx + 1], 0x21
jne 0x418738
cmp byte [ecx + ebx + 2], 0x2d
jne 0x418738
cmp byte [ecx + ebx + 3], 0x2d
jne 0x418738
lea eax, [ebx + 3]
cmp eax, dword [ebp - 0x100]
jb 0x418d99
jmp 0x418cb9
inc ebx
lea eax, [ebx + 3]
cmp eax, dword [ebp - 0x100]
jae 0x418cb9
mov esi, dword [ebp - 0xf8]
mov dl, byte [ebx + esi]
cmp dl, 0x2d
jne 0x418d80
mov edi, dword [ebp - 0xf8]
cmp byte [edi + ebx + 1], 0x2d
jne 0x418d80
cmp byte [edi + ebx + 2], 0x3e
jne 0x418d80
lea ecx, [ebx + 3]
jmp 0x4186f8
lea ecx, [ebx + 1]
mov byte [ebp - 0xf9], 0x22
jmp 0x41873b
lea ecx, [ebx + 1]
mov byte [ebp - 0xf9], 0x27
jmp 0x41873b
cmp byte [ebp - 0xda], 0x21
sete al
test eax, ecx
je 0x418df6
cmp byte [edx + 2], 0x2d
je 0x41958d
cmp byte [ebp - 0xd9], 0x3c
sete dl
cmp byte [ebp - 0xda], 0x21
sete al
and eax, 0xff
test edx, eax
je 0x418e1c
cmp ebx, 3
jle 0x4181a4
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi + 0x124]
mov dword [edi + 0xac], 6
test eax, eax
jne 0x417f62
mov dword [edi + 0x124], 6
jmp 0x417f62
sub esp, 0xc
mov ecx, dword [ebp - 0x10c]
push ecx
call fcn.00410a10
jmp 0x4189da
cmp byte [ebp - 0xda], 0x21
sete al
test eax, esi
je 0x418e75
cmp byte [edx + 2], 0x2d
je 0x419520
cmp byte [ebp - 0xd9], 0x3c
sete dl
cmp byte [ebp - 0xda], 0x21
sete al
and eax, 0xff
test edx, eax
je 0x418ea5
mov edi, dword [ebp - 0x110]
mov eax, dword [edi + 0x10]
cmp byte [eax + 2], 0x44
je 0x4195e6
cmp byte [ebp - 0xd9], 0x3c
sete dl
cmp byte [ebp - 0xda], 0x21
sete al
and eax, 0xff
test edx, eax
je 0x418ecb
cmp ebx, 8
jle 0x4181a4
mov esi, dword [ebp - 0x10c]
sub esp, 0xc
lea edi, [ebp - 0xbc]
lea edx, [ebp - 0xc0]
mov dword [esi + 0xac], 6
mov dword [esi + 0x124], 6
mov eax, esi
push edi
call fcn.00416250
jmp 0x417f80
cmp byte [ebp - 0xda], 0x3f
sete al
test eax, edx
je 0x419300
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x419485
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004134c0
mov edi, dword [ebp - 0x10c]
mov dword [edi + 0xac], 7
mov dword [edi + 0x124], 1
mov ebx, dword [ebp - 0x10c]
add esp, 0x10
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x110], ebx
mov eax, dword [ebx + 0x10]
cmp byte [eax], 0
jne 0x418fa5
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 0x28], 1
jle 0x418fa5
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00406f90
mov eax, dword [ebp - 0x10c]
add esp, 0x10
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x110], eax
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x418fa5
mov ecx, dword [ebp - 0x10c]
cmp dword [ecx + 0x28], 1
jg 0x418f70
mov ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0xec]
cmp dword [ebx + 0x24], edi
jne case.default.0x41803e
cmp dword [ebx + 0x10], esi
jne case.default.0x41803e
sub esp, 0xc
mov edx, 1
push 0x741b04
mov eax, dword [ebp - 0x10c]
call fcn.00405c40
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xac], 0xffffffff
jmp 0x417f80
xor edx, edx
mov eax, dword [ebp - 0x10c]
call fcn.004104c0
jmp 0x418429
cmp byte [ebp - 0xda], 0x21
sete al
test eax, ecx
je 0x419d1a
cmp byte [edx + 2], 0x2d
jne 0x419d1a
cmp byte [edx + 3], 0x2d
jne 0x419d1a
mov esi, dword [ebp - 0xd4]
test esi, esi
jne 0x419053
push ebx
push ebx
push 0x3e
push 0x2d
mov edx, 0x2d
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419d05
sub esp, 0xc
mov ecx, dword [ebp - 0x10c]
push ecx
call fcn.004097f0
mov esi, dword [ebp - 0x10c]
mov dword [esi + 0xac], 0xe
mov dword [esi + 0x124], 1
jmp 0x417f80
cmp ebx, 1
jle 0x4181a4
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x10]
mov cl, byte [eax]
mov byte [ebp - 0xd9], cl
test cl, cl
mov al, byte [eax + 1]
mov byte [ebp - 0xda], al
je 0x419df9
cmp byte [ebp - 0xd9], 0x3c
sete dl
cmp byte [ebp - 0xda], 0x3f
sete al
and eax, 0xff
test edx, eax
je 0x4193dd
cmp ebx, 4
jle 0x4181a4
mov esi, dword [ebp - 0xd4]
test esi, esi
je 0x4194f8
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi]
test eax, eax
je 0x4190fb
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x419995
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 2], 0x78
jne 0x419117
cmp byte [eax + 3], 0x6d
je 0x4199aa
sub esp, 0xc
push 0x7402fe
call fcn.00462370
mov edx, dword [ebp - 0x10c]
add esp, 0x10
mov dword [edx + 0x14], eax
mov eax, dword [edx]
test eax, eax
je 0x419153
mov eax, dword [eax + 0x30]
test eax, eax
je 0x419153
mov ecx, dword [edx + 0xd4]
test ecx, ecx
jne 0x419153
sub esp, 0xc
mov edi, dword [edx + 4]
push edi
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0xac], 1
jmp case.default.0x41803e
sub esp, 0xc
mov edi, dword [eax + 0x10]
push edi
call fcn.0048a7a0
mov ecx, dword [ebp - 0x10c]
mov ebx, eax
add esp, 0x10
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x110], ecx
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
sub eax, esi
sub ebx, eax
jmp 0x418b64
or edx, 0xffffffff
jmp 0x4189a4
sub esp, 0xc
mov edi, dword [eax + 0x10]
push edi
call fcn.0048a7a0
mov ecx, dword [ebp - 0x10c]
mov ebx, eax
add esp, 0x10
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x110], ecx
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
sub eax, esi
sub ebx, eax
jmp 0x4187c8
sub esp, 0xc
mov ecx, dword [eax + 0x10]
push ecx
call fcn.0048a7a0
mov ecx, dword [ebp - 0x10c]
mov ebx, eax
add esp, 0x10
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x110], ecx
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
sub eax, edx
sub ebx, eax
jmp 0x41823a
cmp byte [edx + 1], 0x3e
jne 0x418a34
mov ecx, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x110]
mov eax, dword [ecx + 0xc8]
add eax, 2
mov dword [ecx + 0xc8], eax
lea eax, [edx + 2]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x20]
add eax, 2
mov dword [ebx + 0x20], eax
cmp byte [edx + 2], 0x25
je 0x419c69
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0
je 0x419b80
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0x144]
test eax, eax
je 0x41992e
mov eax, dword [ecx]
test eax, eax
je 0x41927c
mov eax, dword [eax + 0x78]
test eax, eax
je 0x41927c
mov edi, dword [ecx + 0xd4]
test edi, edi
je 0x419ce8
mov ebx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebx + 0x148]
sub edx, esi
test edx, edx
jle 0x41929b
mov eax, ebx
call fcn.00406a50
mov eax, dword [ebp - 0x10c]
call fcn.00406f40
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0xbc]
mov dword [edx + 0x124], 1
cmp eax, 1
sbb eax, eax
and eax, 7
add eax, 7
mov dword [edx + 0xac], eax
jmp case.default.0x41803e
push eax
push eax
push esi
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00406db0
add esp, 0x10
jmp 0x418b0b
sub esp, 0xc
mov ecx, dword [ebp - 0x10c]
push ecx
call fcn.00453a10
add esp, 0x10
jmp 0x418a78
cmp byte [ebp - 0xda], 0x21
setne al
test eax, edx
jne 0x419470
cmp byte [ebp - 0xda], 0x21
sete al
test eax, edx
je 0x41932a
cmp byte [esi + 2], 0x2d
je 0x419bb0
cmp byte [ebp - 0xd9], 0x3c
je 0x419aae
cmp byte [ebp - 0xd9], 0x3c
sete dl
cmp byte [ebp - 0xda], 0x21
sete al
and eax, 0xff
test edx, eax
je 0x41935d
cmp ebx, 8
jle 0x4181a4
cmp byte [ebp - 0xd9], 0x26
je 0x419a6f
mov edi, dword [ebp - 0x10c]
cmp dword [edi + 0x28], 1
sete dl
cmp ebx, 0x12b
setle al
and eax, 0xff
test edx, eax
je 0x4193be
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x4193be
mov eax, dword [edi + 0x124]
test eax, eax
je 0x419c89
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x4181a4
mov edx, dword [ebp - 0x110]
cmp dword [edx + 0x10], eax
ja 0x4181a4
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0xcc], 0
push eax
push eax
push 0
push ecx
call fcn.0040a440
jmp 0x418f4a
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebx]
test eax, eax
jne 0x419454
sub esp, 0xc
push 0x7402fe
call fcn.00462370
mov esi, dword [ebp - 0x10c]
add esp, 0x10
test eax, eax
mov dword [esi + 0x14], eax
je 0x419891
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi]
test eax, eax
je 0x41942b
mov eax, dword [eax + 0x30]
test eax, eax
je 0x41942b
mov edx, dword [edi + 0xd4]
test edx, edx
je 0x419c58
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xac], 1
jmp case.default.0x41803e
mov ecx, dword [ebp - 0x10c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x110], ecx
jmp 0x418545
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4193e9
push esi
push esi
push 0x69a220
mov ebx, dword [ebx + 4]
push ebx
call eax
add esp, 0x10
jmp 0x4193e9
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0xac], 6
jmp case.default.0x41803e
push eax
push eax
push 0
push 0x3e
mov edx, 0x3f
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
jns 0x418f21
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0x124], 2
jmp 0x4181a4
mov edx, dword [edi + 0x34]
test edx, edx
je 0x418a19
cmp edx, dword [eax + 0xc]
jne 0x418a19
push ecx
push ecx
push eax
mov eax, edi
add eax, 0x6c
push eax
call fcn.0045dc80
mov edx, dword [edi + 0x64]
add esp, 0x10
and edx, eax
mov dword [edi + 0x64], edx
jmp 0x418a19
inc ecx
jmp 0x4186f8
push ebx
push ebx
push 0
push 0x3e
mov edx, 0x3f
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
jns 0x4190e4
jmp 0x4181a4
cmp byte [edx + 3], 0x2d
jne 0x418e75
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x419555
push eax
push eax
push 0x3e
push 0x2d
mov edx, 0x2d
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419fa9
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004097f0
mov esi, dword [ebp - 0x10c]
mov dword [esi + 0xac], 1
mov dword [esi + 0x124], 1
mov dword [esi + 0xcc], 0
jmp 0x417f80
cmp byte [edx + 3], 0x2d
jne 0x418df6
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x4195c2
push eax
push eax
push 0x3e
push 0x2d
mov edx, 0x2d
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419fbe
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.004097f0
mov esi, dword [ebp - 0x10c]
mov dword [esi + 0xac], 4
jmp 0x419072
cmp byte [eax + 3], 0x4f
jne 0x418ea5
cmp byte [eax + 4], 0x43
jne 0x418ea5
cmp byte [eax + 5], 0x54
jne 0x418ea5
cmp byte [eax + 6], 0x59
jne 0x418ea5
cmp byte [eax + 7], 0x50
jne 0x418ea5
cmp byte [eax + 8], 0x45
jne 0x418ea5
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x41964d
push edi
push edi
push 0
push 0
mov edx, 0x3e
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x419cc4
mov eax, dword [ebp - 0x10c]
sub esp, 0xc
mov dword [eax + 0xd8], 1
mov dword [eax + 0x124], 1
mov dword [eax + 0xcc], 0
push eax
call fcn.00414040
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0x24]
add esp, 0x10
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x5b
je 0x419cd9
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx]
test eax, eax
je 0x4196d7
mov esi, dword [ecx + 0xd4]
test esi, esi
jne 0x4196d7
mov eax, dword [eax + 0x68]
test eax, eax
je 0x4196d7
mov ebx, dword [ecx + 0xe0]
mov dword [ecx + 0xd8], 2
push ebx
mov edx, dword [ecx + 0xe4]
push edx
mov edi, dword [ecx + 0xdc]
push edi
mov esi, dword [ecx + 4]
push esi
call eax
add esp, 0x10
mov ebx, dword [ebp - 0x10c]
mov eax, ebx
mov dword [ebx + 0xd8], 0
call fcn.00406660
mov dword [ebx + 0xac], 4
jmp case.default.0x41803e
push eax
mov eax, dword [ebp - 0xf0]
push eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
push eax
mov edi, dword [ebx + 4]
push edi
call edx
mov esi, dword [ebx + 0x24]
add esp, 0x10
mov dword [ebp - 0x110], esi
jmp 0x418545
push eax
push eax
push 0xfa
push edi
call fcn.00453850
add esp, 0x10
test eax, eax
jg 0x4185f6
sub esp, 0xc
mov esi, dword [ebp - 0x10c]
push esi
call fcn.00406f90
add esp, 0x10
jmp 0x4185f6
mov ecx, dword [ebp - 0x10c]
cmp dword [ecx + 0x28], 1
jne 0x41892d
jmp 0x4181a4
mov esi, dword [ebp - 0x10c]
cmp dword [esi + 0x28], 1
jne 0x41861e
jmp 0x4181a4
mov dl, 0xff
jmp 0x41899e
lea eax, [edx + edx]
mov dword [edi + 0xc0], eax
push eax
push eax
lea eax, [edx*8]
push eax
mov eax, dword [edi + 0xc4]
push eax
call dword [0x69a2c4]
add esp, 0x10
test eax, eax
je 0x419968
mov edx, dword [ebp - 0x10c]
mov dword [edx + 0xc4], eax
push eax
push eax
mov eax, dword [edx + 0xc0]
lea eax, [eax + eax*2]
shl eax, 2
push eax
mov edi, dword [edx + 0x158]
push edi
call dword [0x69a2c4]
add esp, 0x10
test eax, eax
je 0x419c38
mov edi, dword [ebp - 0x10c]
mov ecx, dword [edi + 0xbc]
mov dword [edi + 0x158], eax
jmp 0x418aca
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00408c00
mov esi, dword [ebp - 0x10c]
add esp, 0x10
mov esi, dword [esi + 0x24]
mov dword [ebp - 0x110], esi
jmp 0x4185e4
push eax
push eax
push 0
push 0
mov edx, 0x3e
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
jns 0x418973
jmp 0x4181a4
push ebx
push ebx
push 0
push 0
mov edx, 0x3e
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
jns 0x4183b6
jmp 0x4181a4
mov esi, dword [ebp - 0x10c]
mov ecx, dword [esi + 0xc4]
mov dword [esi + 0xb8], 0
jmp 0x418422
push ecx
push ecx
push 0
push esi
call fcn.00453570
jmp 0x417f80
push esi
mov ebx, dword [ebp - 0xf0]
push ebx
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x10]
push ecx
mov eax, dword [edi + 4]
push eax
call edx
mov eax, dword [edi + 0x24]
add esp, 0x10
mov dword [ebp - 0x110], eax
jmp 0x418545
mov ebx, dword [ebp - 0x10c]
mov eax, ebx
mov dword [ebx + 0xcc], 0
call fcn.00414df0
mov eax, dword [ebx]
test eax, eax
je 0x4198fe
mov esi, dword [ebx + 0xd4]
test esi, esi
jne 0x4198fe
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x419dcc
mov esi, dword [ebp - 0x10c]
mov eax, esi
mov dword [esi + 0xd8], 0
call fcn.00406660
mov dword [esi + 0xac], 4
mov dword [esi + 0xcc], 0
jmp case.default.0x41803e
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi]
test eax, eax
je 0x41929b
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x41929b
mov ecx, dword [edi + 0xd4]
test ecx, ecx
jne 0x41929b
push edx
push edx
push esi
mov ebx, dword [edi + 4]
push ebx
call eax
add esp, 0x10
jmp 0x41929b
mov eax, dword [edi + 0xc0]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov dword [edi + 0xc0], eax
push ecx
push ecx
push 0
mov edx, dword [ebp - 0x10c]
push edx
call fcn.00453570
add esp, 0x10
jmp 0x418b0b
push ecx
push ecx
push 0x69a220
mov edx, dword [edi + 4]
push edx
call eax
add esp, 0x10
jmp 0x4190fb
cmp byte [eax + 4], 0x6c
jne 0x419117
mov cl, byte [eax + 5]
cmp cl, 0x20
lea eax, [ecx - 9]
sete dl
cmp al, 1
setbe al
or eax, edx
test al, 1
jne 0x4199d4
cmp cl, 0xd
jne 0x419117
mov eax, dword [ebp - 0xd8]
sub esp, 0xc
add eax, 5
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00415c80
mov ecx, dword [ebp - 0x10c]
add esp, 0x10
cmp dword [ecx + 0x54], 0x20
je 0x41a004
mov edx, dword [ecx + 0x24]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x1c], eax
mov eax, dword [ecx + 0x18]
test eax, eax
jne 0x419a31
mov eax, dword [edx + 0x2c]
test eax, eax
je 0x419a31
sub esp, 0xc
push eax
call fcn.004622d0
mov ebx, dword [ebp - 0x10c]
add esp, 0x10
mov dword [ebx + 0x18], eax
mov esi, dword [ebp - 0x10c]
mov eax, dword [esi]
test eax, eax
je 0x419a5a
mov eax, dword [eax + 0x30]
test eax, eax
je 0x419a5a
mov edi, dword [esi + 0xd4]
test edi, edi
jne 0x419a5a
sub esp, 0xc
mov ebx, dword [esi + 4]
push ebx
call eax
add esp, 0x10
mov edi, dword [ebp - 0x10c]
mov dword [edi + 0xac], 1
jmp case.default.0x41803e
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
jne 0x419a9a
push edx
push edx
push 0
push 0
mov edx, 0x3b
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
js 0x4181a4
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00417700
jmp 0x418f4a
mov edi, dword [ebp - 0x110]
mov edx, dword [edi + 0x10]
cmp byte [edx + 1], 0x21
jne 0x419337
cmp byte [edx + 2], 0x5b
jne 0x419337
cmp byte [edx + 3], 0x43
jne 0x419337
cmp byte [edx + 4], 0x44
jne 0x419337
cmp byte [edx + 5], 0x41
jne 0x419337
cmp byte [edx + 6], 0x54
jne 0x419337
cmp byte [edx + 7], 0x41
jne 0x419337
cmp byte [edx + 8], 0x5b
jne 0x419337
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax + 0xc8]
add ecx, 9
mov dword [eax + 0xc8], ecx
lea eax, [edx + 9]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x20]
add eax, 9
mov dword [edi + 0x20], eax
cmp byte [edx + 9], 0x25
jne 0x419b52
sub esp, 0xc
mov edi, dword [ebp - 0x10c]
push edi
call fcn.00408c00
mov edx, dword [ebp - 0x10c]
add esp, 0x10
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x110], edx
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
je 0x419d9d
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 8
jmp case.default.0x41803e
push eax
push eax
push 0xfa
push edx
call fcn.00453850
add esp, 0x10
test eax, eax
jg 0x41924d
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00406f90
add esp, 0x10
jmp 0x41924d
cmp byte [esi + 3], 0x2d
jne 0x41932a
cmp ebx, 3
jle 0x4181a4
mov edx, dword [ebp - 0x110]
lea eax, [esi + 4]
mov dword [edx + 0x10], eax
push eax
push eax
push 0x3e
push 0x2d
mov edx, 0x2d
mov eax, dword [ebp - 0x10c]
call fcn.00416120
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [ebp - 0xd4]
add esp, 0x10
mov edi, dword [edx + 0x10]
sub edi, 4
test ebx, ebx
mov dword [edx + 0x10], edi
sete dl
shr eax, 0x1f
test edx, eax
jne 0x41a01b
sub esp, 0xc
push ecx
call fcn.004097f0
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0xac], 7
mov dword [ebx + 0x124], 1
jmp 0x418f4a
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0xc0]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov dword [ecx + 0xc0], eax
jmp 0x41997d
sub esp, 0xc
mov esi, dword [edi + 4]
push esi
call eax
add esp, 0x10
jmp 0x41942b
sub esp, 0xc
push ecx
call fcn.00408c00
mov edi, dword [ebp - 0x10c]
add esp, 0x10
mov edi, dword [edi + 0x24]
mov dword [ebp - 0x110], edi
jmp 0x41923b
push eax
push eax
push 0
push 0
mov edx, 0x3c
mov eax, dword [ebp - 0x10c]
call fcn.00416120
add esp, 0x10
test eax, eax
jns 0x4193be
jmp 0x4181a4
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0x124], 2
jmp 0x4181a4
mov esi, dword [ebp - 0x10c]
mov dword [esi + 0x124], 3
jmp 0x4181a4
mov dword [edx + 0xac], 3
jmp case.default.0x41803e
mov ebx, dword [ebp - 0xcc]
push ebx
mov edx, dword [ebp - 0xd0]
push edx
push esi
mov edi, dword [ecx + 4]
push edi
call eax
add esp, 0x10
jmp 0x41927c
mov ecx, dword [ebp - 0x10c]
mov dword [ecx + 0x124], 5
jmp 0x4181a4
cmp byte [ebp - 0xd9], 0x3c
sete dl
cmp byte [ebp - 0xda], 0x21
sete al
and eax, 0xff
test edx, eax
je 0x419d40
cmp ebx, 3
jle 0x4181a4
sub esp, 0xc
mov edx, 5
push 0
mov eax, dword [ebp - 0x10c]
call fcn.00405c40
mov edi, dword [ebp - 0x10c]
mov eax, dword [edi]
add esp, 0x10
mov dword [edi + 0xac], 0xffffffff
test eax, eax
je 0x4181a4
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4181a4
sub esp, 0xc
mov edx, dword [edi + 4]
jmp 0x41819e
mov edx, dword [ebp - 0x10c]
mov dword [edx + 0x124], 2
jmp 0x4181a4
push esi
push esi
push 0xfa
push ecx
call fcn.00453850
add esp, 0x10
test eax, eax
jg 0x419b64
sub esp, 0xc
mov ebx, dword [ebp - 0x10c]
push ebx
call fcn.00406f90
add esp, 0x10
jmp 0x419b64
mov ecx, dword [ebx + 0xe0]
mov dword [ebx + 0xd8], 2
push ecx
mov edx, dword [ebx + 0xe4]
push edx
mov edi, dword [ebx + 0xdc]
push edi
mov esi, dword [ebx + 4]
push esi
call eax
add esp, 0x10
jmp 0x4198fe
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebx]
test eax, eax
je 0x419e1c
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x419e1c
push edx
push edx
push 0x69a220
mov edi, dword [ebx + 4]
push edi
call eax
add esp, 0x10
sub esp, 0xc
mov edx, 4
push 0
mov eax, dword [ebp - 0x10c]
call fcn.00405c40
mov esi, dword [ebp - 0x10c]
mov eax, dword [esi]
add esp, 0x10
mov dword [esi + 0xac], 0xffffffff
test eax, eax
je 0x4181a4
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4181a4
sub esp, 0xc
mov ebx, dword [esi + 4]
push ebx
jmp 0x41819f
cmp ebx, 0x12d
jle 0x4181a4
mov edx, dword [ebp - 0x10c]
mov eax, dword [edx + 0x24]
mov edx, 0x12c
mov eax, dword [eax + 0x10]
call fcn.00416360
mov esi, eax
test eax, eax
js 0x418045
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx]
test eax, eax
je 0x419ebd
mov edx, dword [ecx + 0xd4]
test edx, edx
jne 0x419ebd
mov edx, dword [eax + 0x64]
test edx, edx
jne 0x41a04d
mov edx, dword [eax + 0x44]
test edx, edx
jne 0x41a030
xor edx, edx
cmp edx, esi
jge 0x419f2a
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x10c]
mov edi, dword [edi + 0x24]
mov ebx, dword [eax + 0xc8]
mov dword [ebp - 0x110], edi
jmp 0x419f0c
mov edi, dword [ebp - 0x110]
mov eax, dword [edi + 0x20]
inc eax
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
inc ebx
inc edx
mov dword [eax + 0xc8], ebx
mov eax, dword [ecx + 0x10]
inc eax
cmp edx, esi
mov dword [ecx + 0x10], eax
jge 0x419f39
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0xa
jne 0x419ee0
mov edi, dword [ecx + 0x1c]
mov dword [ecx + 0x20], 1
inc edi
mov dword [ecx + 0x1c], edi
jmp 0x419eed
mov ebx, dword [ebp - 0x10c]
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x110], ebx
mov esi, dword [ebp - 0x110]
mov eax, dword [esi + 0x10]
cmp byte [eax], 0x25
jne 0x419f68
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00408c00
mov edi, dword [ebp - 0x10c]
add esp, 0x10
mov edi, dword [edi + 0x24]
mov dword [ebp - 0x110], edi
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0
jne 0x418752
push eax
push eax
push 0xfa
push edx
call fcn.00453850
add esp, 0x10
test eax, eax
jg 0x418752
sub esp, 0xc
mov eax, dword [ebp - 0x10c]
push eax
call fcn.00406f90
add esp, 0x10
jmp 0x418752
mov ebx, dword [ebp - 0x10c]
mov dword [ebx + 0x124], 5
jmp 0x4181a4
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0x124], 5
jmp 0x4181a4
mov ecx, dword [ebp - 0x10c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x110], ecx
mov eax, dword [ecx + 0x10]
sub eax, ebx
mov dword [ecx + 0x10], eax
jmp 0x41805c
mov edi, dword [ebp - 0x10c]
mov dword [edi + 0x124], 2
jmp 0x4181a4
mov edx, dword [ebp - 0x10c]
xor eax, eax
mov dword [edx + 0xac], 0xffffffff
jmp 0x4180c3
mov edx, dword [ebp - 0x10c]
mov dword [edx + 0x124], 5
jmp 0x4181a4
push eax
push esi
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [ebx + 4]
push eax
call edx
add esp, 0x10
jmp 0x419ebd
push eax
push esi
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [ecx + 4]
jmp 0x41a042