Function at 0x4184eb
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x9cfea8]
lea eax, [esp - 4]
cdq
sub esp, 0x24
sub ecx, eax
mov eax, dword [0x9cfeac]
sbb eax, edx
cmp eax, dword [0x9cfe5c]
jb 0x41851c
ja 0x41a52e
cmp ecx, dword [0x9cfe58]
ja 0x41a52e
push ebp
mov ebp, dword [esp + 0x2c]
xor ecx, ecx
imul eax, ebp, 0x18
push esi
mov esi, dword [0x95ab10]
mov byte [esp + 8], cl
mov byte [esp + 0xa], cl
mov dword [esp + 0x10], eax
mov edx, dword [eax + esi]
mov eax, dword [0x858080]
inc eax
mov dword [esp + 0x14], edx
mov dword [0x858080], eax
cmp eax, dword [0x9cfe6c]
jg 0x41a564
push ebx
mov ebx, dword [esp + 0x38]
cmp byte [0x9cfe23], cl
je 0x418581
cmp dword [ebx], ecx
setne al
movzx eax, al
push eax
push ebp
call fcn.0041a787
mov esi, dword [0x95ab10]
mov edx, dword [esp + 0x20]
pop ecx
pop ecx
xor ecx, ecx
cmp byte [0x857075], 0
push edi
je 0x41870a
mov eax, dword [ebx]
test eax, eax
je 0x41865c
imul eax, eax, 0x18
cmp dword [eax + esi], 0x3e
je 0x4185b2
cmp dword [eax + esi], 0x3c
je 0x4185b2
cmp dword [eax + esi], 0x3d
jne 0x41870a
mov eax, dword [0x95ab1c]
mov edi, dword [0x857064]
add eax, eax
cmp edi, eax
jle 0x4185fe
call fcn.00417b77
imul eax, dword [ebx], 0x18
cmp dword [eax + esi], 0x3c
jne 0x4185e8
push dword [eax + esi + 0xc]
push dword [0x857078]
push 0x857080
call fcn.0040d579
add esp, 0xc
xor eax, eax
mov dword [ebx], eax
cmp byte [0x9cfe23], al
je 0x41a526
push eax
jmp 0x41a51e
cmp edx, 4
jne 0x41861f
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [0x857060]
inc edx
mov byte [esp + 0x10], dl
mov byte [esp + 0x12], dl
mov dword [esp + 0x24], eax
jmp 0x4187bd
call fcn.00417b77
imul eax, dword [ebx], 0x18
cmp dword [eax + esi], 0x3c
jne 0x41864a
push dword [eax + esi + 0xc]
push dword [0x857078]
push 0x857080
call fcn.0040d579
mov edi, dword [0x857064]
add esp, 0xc
xor ecx, ecx
mov al, 1
mov dword [ebx], ecx
mov esi, dword [0x95ab10]
mov byte [esp + 0x10], al
jmp 0x418666
mov edi, dword [0x857064]
mov al, byte [esp + 0x10]
test al, al
jne 0x4186db
mov ecx, dword [0x857060]
cmp ecx, 0xf
je 0x41867e
cmp ecx, 0x19
jne 0x418716
mov eax, dword [0x857078]
lea ecx, [esp + 0x12]
push ecx
lea ecx, [esp + 0x14]
push ecx
imul ecx, dword [0x95ab20], 0x14
movzx esi, word [eax + 8]
push ebx
push ebp
push eax
mov eax, dword [0x95ab24]
push dword [ecx + eax + 0x10]
call dword [0x85707c]
mov al, byte [esp + 0x28]
add esp, 0x18
test al, al
je 0x418704
cmp byte [esp + 0x12], 0
jne 0x4186c9
mov eax, dword [0x857078]
mov word [eax + 8], si
mov al, byte [esp + 0x10]
mov esi, dword [0x95ab10]
mov edi, dword [0x857064]
test al, al
je 0x418710
xor ecx, ecx
cmp byte [esp + 0x12], 0
jne 0x4193f7
mov edx, dword [esp + 0x1c]
cmp edx, 0xb
jl 0x41873d
mov dword [ebx], ecx
cmp byte [0x9cfe23], 0
je 0x41a526
push ecx
jmp 0x41a51e
mov esi, dword [0x95ab10]
mov edi, dword [0x857064]
mov ecx, dword [0x857060]
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
cmp edx, 0xa
jne 0x418775
test eax, eax
jne 0x418745
mov dword [ebx], ebp
cmp byte [0x9cfe23], al
je 0x41a526
push ebp
jmp 0x41a51e
mov ecx, dword [0x857060]
jmp 0x41871a
imul eax, eax, 0x18
mov ecx, dword [eax + esi + 0xc]
cmp ecx, dword [0x95bc48]
je 0x41a59f
cmp ecx, dword [0x95bc44]
movzx eax, byte [0x857076]
push 1
pop ecx
cmove eax, ecx
mov byte [0x857076], al
jmp 0x4185e8
cmp edx, 0xb
jne 0x4187ba
test eax, eax
jne 0x41a503
cmp ecx, 0x18
je 0x41a513
cmp ecx, 0xa
je 0x41a513
mov edx, dword [esp + 0x18]
mov eax, dword [0x857058]
cmp eax, dword [edx + esi + 0xc]
jne 0x41a513
cmp dword [0x85705c], eax
jne 0x4193e0
mov dword [ebx], ebp
jmp 0x4193f7
xor edx, edx
inc edx
test eax, eax
mov eax, dword [esp + 0x1c]
jne 0x4197d6
cmp eax, 0x3b
ja case.default.0x4187d9
movzx eax, byte [eax + 0x41a63b]
jmp dword [eax*4 + 0x41a5d7]
mov dword [ebx], ebp
jmp 0x41a513
mov ecx, dword [esp + 0x18]
mov edx, dword [0x95ab08]
mov dword [esp + 0x24], edx
mov edx, dword [0x95ab0c]
movzx eax, word [ecx + esi + 8]
mov ecx, dword [ecx + esi + 0x14]
push eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], ecx
call fcn.0042313d
mov ebx, eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x1c], ebx
push eax
push ebx
mov byte [esp + 0x1d], al
lea esi, [ecx + 1]
call fcn.00423a96
mov ebp, ebx
add esp, 0xc
mov edi, ebx
shl ebp, 2
xor ebx, ebx
mov ecx, dword [0x95ab14]
mov eax, dword [0x95ab20]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + ebp]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x2c]
add eax, esi
push dword [ecx + eax*4 - 4]
call fcn.004184eb
push dword [esp + 0x24]
push edi
call fcn.00423a96
mov ecx, dword [0x95ab14]
add esp, 0x10
mov dl, byte [0x857076]
cmp dword [ecx + ebp], ebx
jne 0x4188be
xor eax, eax
dec esi
sub ebp, 4
inc eax
dec edi
cmp esi, eax
jl 0x418896
mov byte [esp + 0x11], al
test dl, dl
je 0x418840
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
test esi, esi
jle 0x418914
test dl, dl
jne 0x4188f1
push ebp
call fcn.0042343c
mov edx, dword [esp + 0x1c]
push edx
push eax
mov dword [ebx], eax
call fcn.00423aa7
add esp, 0xc
jmp 0x418934
cmp byte [esp + 0x11], bl
je 0x4188d4
mov eax, dword [esp + 0x2c]
cmp dword [0x95ab20], eax
je 0x418840
inc esi
add ebp, 4
inc edi
cmp esi, dword [esp + 0x30]
jg 0x418896
push ebx
push edi
mov byte [esp + 0x19], bl
call fcn.00423a96
pop ecx
pop ecx
jmp 0x41883a
mov edi, dword [esp + 0x18]
dec edi
add edi, esi
shl edi, 2
push dword [edi + ecx]
call fcn.00417ba6
lea edi, [edi - 4]
pop ecx
sub esi, 1
je 0x418914
mov ecx, dword [0x95ab14]
jmp 0x4188fb
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x418934
push dword [esp + 0x20]
call fcn.00423af2
push dword [esp + 0x28]
call fcn.00423a8c
pop ecx
pop ecx
mov byte [0x857076], 0
jmp 0x41a513
call fcn.00417dda
mov ecx, edi
sub ecx, eax
cmp ecx, 0xa
jle 0x4189fe
xor ecx, ecx
mov edx, edi
inc ecx
inc eax
cmp edx, eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x18]
jl 0x418a02
mov eax, dword [edx + esi + 0xc]
mov ebp, edi
mov ebx, dword [esp + 0x30]
mov esi, eax
mov edx, dword [0x857068]
mov dword [esp + 0x2c], eax
cmp dword [edx + ebp*4], esi
lea eax, [ecx + 1]
cmovne eax, ecx
dec ebp
mov ecx, eax
cmp ebp, ebx
jge 0x41897e
mov ebx, dword [esp + 0x3c]
mov esi, dword [0x95ab10]
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
cmp ecx, 0xa
jle 0x418a02
mov eax, dword [0x95ab20]
cmp ecx, 0xb
jle 0x4189df
cmp dword [0x857070], eax
jne 0x4189df
mov eax, dword [0xdd232c]
mov ecx, 0x1fb
mov dword [0xdd2328], eax
mov dword [eax], ecx
mov edx, dword [0xdd2328]
cmp edx, 0xdd22e0
je 0x41a5cb
jmp 0x41a5be
cmp byte [0x9cfe27], 0
je 0x4189f4
push ebp
call 0x41a6e3
mov eax, dword [0x95ab20]
pop ecx
mov dword [0x857070], eax
jmp 0x4185e8
mov edx, dword [esp + 0x18]
cmp byte [0x857074], 0
je 0x418a49
mov eax, dword [0x857058]
cmp eax, dword [0x95bbe8]
jne 0x418a49
mov eax, dword [edx + esi + 0xc]
cmp eax, dword [0x95bb98]
jne 0x418a49
mov eax, dword [0x95ab20]
test eax, eax
jle 0x418a49
imul ecx, eax, 0x14
mov eax, dword [0x95ab24]
mov eax, dword [ecx + eax - 0x14]
cmp eax, dword [0x95bc10]
jne 0x418a49
and dword [ebx], 0
jmp 0x41a526
cmp edi, dword [0x9cfe70]
jne 0x418a5b
call fcn.00418224
jmp 0x4189b7
mov eax, dword [edx + esi + 0xc]
inc edi
mov ecx, dword [0x857068]
mov dword [0x857064], edi
mov dword [ecx + edi*4], eax
mov eax, dword [0x85706c]
mov ecx, dword [0x95ab20]
mov dword [eax + edi*4], ecx
mov eax, dword [0x95ab08]
mov dword [esp + 0x28], eax
mov eax, dword [0x95ab0c]
mov dword [esp + 0x2c], eax
mov eax, dword [0x95ab10]
movzx ecx, word [edx + eax + 8]
mov edx, dword [edx + eax + 0x14]
xor eax, eax
and dword [esp + 0x14], 0
inc eax
mov dword [esp + 0x30], ecx
mov esi, eax
cmp ecx, eax
jb 0x418b16
mov edi, edx
shl edi, 2
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [edi + eax]
call fcn.004184eb
cmp dword [esp + 0x1c], 0
pop ecx
pop ecx
jne 0x418ae1
inc esi
add edi, 4
cmp esi, dword [esp + 0x30]
jle 0x418ab4
mov edi, dword [0x857064]
jmp 0x418b16
push ebp
call fcn.0042343c
xor ecx, ecx
mov dword [ebx], eax
inc ecx
push ecx
push eax
call fcn.00423aba
push dword [esp + 0x20]
push dword [ebx]
call fcn.00422f47
push esi
push dword [ebx]
call fcn.00423a64
mov edi, dword [0x857064]
add esp, 0x1c
cmp dword [esp + 0x14], 0
jne 0x418b3c
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x418b3c
push dword [esp + 0x2c]
call fcn.00423af2
push dword [esp + 0x2c]
call fcn.00423a8c
mov edi, dword [0x857064]
pop ecx
pop ecx
dec edi
mov dword [0x857064], edi
jmp 0x41a513
mov edx, dword [esp + 0x18]
inc edi
mov eax, dword [0x857068]
push 2
mov dword [0x857064], edi
mov ecx, dword [edx + esi + 0xc]
mov esi, edx
mov dword [eax + edi*4], ecx
mov eax, dword [0x85706c]
mov ecx, dword [0x95ab20]
mov dword [eax + edi*4], ecx
mov eax, dword [0x95ab10]
mov eax, dword [esi + eax + 0x14]
mov dword [esp + 0x34], eax
call fcn.0042313d
mov ecx, dword [0x95ab10]
mov edi, eax
push edi
push 2
push dword [esi + ecx + 0x10]
push dword [esi + ecx + 0xc]
push 2
call fcn.00423468
mov esi, dword [esp + 0x48]
mov dword [ebx], eax
mov eax, dword [0x95ab08]
mov ecx, dword [0x95ab14]
mov dword [esp + 0x38], eax
mov eax, dword [0x95ab0c]
mov dword [esp + 0x40], eax
mov eax, dword [0x95ab20]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + edi*4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push dword [ecx + esi*4]
call fcn.004184eb
push dword [esp + 0x3c]
push edi
call fcn.00423a96
mov eax, dword [0x95ab14]
add esp, 0x28
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x418c2b
mov ebx, dword [esp + 0x2c]
cmp dword [0x95ab20], ebx
jne 0x418c27
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1c]
push ecx
push dword [eax + esi*4]
call fcn.004184eb
push dword [esp + 0x24]
push edi
call fcn.00423a96
mov eax, dword [0x95ab14]
add esp, 0x10
mov ecx, dword [eax + edi*4]
test ecx, ecx
jne 0x418bf5
mov ebx, dword [esp + 0x3c]
cmp dword [eax + edi*4], 0
lea esi, [edi + 1]
je 0x418c51
mov eax, dword [eax + edi*4 + 4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.004184eb
push dword [esp + 0x2c]
push esi
jmp 0x419c5f
cmp byte [0x857075], 0
push dword [0x95bb84]
push edi
je 0x418c92
call fcn.00423a96
mov eax, dword [0x95ab14]
mov eax, dword [eax + edi*4 + 4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
push dword [0x95bb84]
call fcn.004184eb
push dword [esp + 0x34]
push esi
call fcn.00423a96
add esp, 0x18
jmp 0x418ca6
call fcn.00423a96
push dword [0x95bb84]
push esi
call fcn.00423a96
add esp, 0x10
cmp dword [0x95ab00], 0
jne 0x419a7a
push dword [esp + 0x28]
call fcn.00423af2
push dword [esp + 0x24]
jmp 0x419a73
mov edx, dword [esp + 0x18]
mov eax, dword [0x95ab08]
mov dword [esp + 0x28], eax
mov eax, dword [0x95ab0c]
mov edi, dword [edx + esi + 0x14]
push 2
mov dword [esp + 0x30], eax
call fcn.0042313d
mov ecx, dword [0x95ab14]
mov esi, eax
push esi
push 2
imul edx, dword [ecx + edi*4 + 4], 0x18
mov ecx, dword [0x95ab10]
push dword [edx + ecx + 0x10]
push dword [edx + ecx + 0xc]
push 2
call fcn.00423468
mov dword [ebx], eax
mov ecx, dword [0x95ab14]
mov eax, dword [0x95ab20]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push dword [ecx + edi*4]
call fcn.004184eb
push dword [esp + 0x3c]
push esi
call fcn.00423a96
mov ecx, dword [0x95ab14]
add esp, 0x28
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x418d85
mov ebp, dword [esp + 0x30]
cmp dword [0x95ab20], ebp
jne 0x418d81
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push dword [ecx + edi*4]
call fcn.004184eb
push dword [esp + 0x24]
push esi
call fcn.00423a96
mov ecx, dword [0x95ab14]
add esp, 0x10
mov eax, dword [ecx + esi*4]
test eax, eax
jne 0x418d4e
mov ebp, dword [esp + 0x38]
xor eax, eax
cmp dword [ecx + esi*4], eax
je 0x418db7
mov eax, dword [ecx + esi*4 + 4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push dword [ecx + edi*4 + 4]
call fcn.004184eb
push dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.00423a96
add esp, 0x10
jmp 0x41a513
mov dword [ebx], eax
cmp dword [0x95ab00], eax
jne 0x41a513
push dword [esp + 0x2c]
call fcn.00423af2
push dword [esp + 0x2c]
call fcn.00423a8c
pop ecx
jmp 0x41a512
mov edi, dword [esp + 0x18]
push 2
mov esi, dword [edi + esi + 0x14]
call fcn.0042313d
mov ecx, dword [0x95ab10]
push eax
push 2
mov dword [esp + 0x30], eax
push dword [edi + ecx + 0x10]
push dword [edi + ecx + 0xc]
push 3
call fcn.00423468
mov dword [ebx], eax
mov eax, dword [0x95ab08]
mov ecx, dword [0x95ab14]
mov dword [esp + 0x44], eax
mov eax, dword [0x95ab0c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push dword [ecx + esi*4]
call fcn.004184eb
push dword [esp + 0x3c]
mov esi, dword [esp + 0x48]
push esi
call fcn.00423a96
mov eax, dword [0x95ab14]
xor ecx, ecx
add esp, 0x28
cmp dword [eax + esi*4], ecx
je 0x418e9f
cmp dword [0x857060], 0x18
je 0x418e8b
mov eax, dword [0x857058]
cmp eax, dword [0x95bc78]
jne 0x418e8b
call fcn.00417b37
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + esi*4 + 4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push ebp
jmp 0x418fc9
mov eax, dword [0x95ab10]
push ecx
push ecx
push dword [edi + eax + 0x10]
push dword [edi + eax + 0xc]
jmp 0x419023
lea edi, [esi + 1]
push dword [0x95bb84]
push esi
cmp byte [0x857075], cl
je 0x418ee2
call fcn.00423a96
mov eax, dword [0x95ab14]
mov eax, dword [eax + esi*4 + 4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push dword [0x95bb84]
call fcn.004184eb
push dword [esp + 0x2c]
push edi
call fcn.00423a96
add esp, 0x18
jmp 0x418ef6
call fcn.00423a96
push dword [0x95bb84]
push edi
call fcn.00423a96
add esp, 0x10
cmp dword [0x95ab00], 0
jne 0x41a513
push dword [esp + 0x30]
call fcn.00423af2
push dword [esp + 0x30]
jmp 0x418dd2
mov edx, dword [esp + 0x18]
mov eax, dword [0x95ab08]
mov dword [esp + 0x2c], eax
mov eax, dword [0x95ab0c]
mov edi, dword [edx + esi + 0x14]
push 2
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edi
call fcn.0042313d
mov ecx, dword [0x95ab14]
mov esi, eax
push esi
push 2
imul edx, dword [ecx + edi*4 + 4], 0x18
mov ecx, dword [0x95ab10]
push dword [edx + ecx + 0x10]
push dword [edx + ecx + 0xc]
push 3
call fcn.00423468
mov dword [ebx], eax
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push dword [ecx + edi*4]
call fcn.004184eb
push dword [esp + 0x3c]
push esi
call fcn.00423a96
mov edi, dword [0x95ab14]
xor edx, edx
add esp, 0x28
cmp dword [edi + esi*4], edx
je 0x419051
cmp dword [0x857060], 0x18
je 0x41900b
mov eax, dword [0x857058]
cmp eax, dword [0x95bc78]
jne 0x41900b
call fcn.00417b37
mov eax, dword [edi + esi*4 + 4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
push dword [edi + eax*4 + 4]
call fcn.004184eb
push dword [esp + 0x24]
lea eax, [esi + 1]
push eax
call fcn.00423a96
mov edx, dword [0x95ab14]
add esp, 0x10
mov ecx, dword [0x95ab10]
imul eax, dword [edx + esi*4 + 4], 0x18
cmp dword [eax + ecx], 3
jne 0x41a513
mov eax, dword [eax + ecx + 0x14]
imul eax, dword [edx + eax*4 + 4], 0x18
cmp dword [eax + ecx], 0xa
jmp 0x41a029
mov eax, dword [esp + 0x24]
push edx
push edx
imul ecx, dword [edi + eax*4 + 4], 0x18
mov eax, dword [0x95ab10]
push dword [ecx + eax + 0x10]
push dword [ecx + eax + 0xc]
push 3
call fcn.00423468
mov ecx, dword [0x95bb84]
push ecx
push ecx
push eax
mov dword [esp + 0x34], eax
call fcn.00422fed
push dword [esp + 0x34]
lea eax, [esi + 1]
push eax
call fcn.00423a96
add esp, 0x28
jmp 0x41a513
mov dword [ebx], edx
cmp dword [0x95ab00], edx
jmp 0x418efd
cmp edi, dword [0x9cfe70]
je 0x418a51
mov edx, dword [esp + 0x18]
inc edi
mov eax, dword [0x857068]
mov dword [0x857064], edi
mov ecx, dword [edx + esi + 0xc]
mov dword [eax + edi*4], ecx
mov eax, dword [0x85706c]
mov ecx, dword [0x95ab20]
mov dword [eax + edi*4], ecx
mov eax, dword [0x95ab10]
mov esi, dword [0x95ab08]
mov edi, dword [0x95ab0c]
mov ecx, dword [edx + eax + 0x14]
lea eax, [esp + 0x14]
and dword [esp + 0x14], 0
push eax
mov eax, dword [0x95ab14]
push dword [eax + ecx*4]
call fcn.004184eb
cmp dword [esp + 0x1c], 0
pop ecx
pop ecx
je 0x4190f2
push ebp
call fcn.0042343c
xor ecx, ecx
mov dword [ebx], eax
inc ecx
push ecx
push eax
call fcn.00423aba
push dword [esp + 0x20]
push dword [ebx]
call fcn.00422f47
push 1
push dword [ebx]
call fcn.00423a64
add esp, 0x1c
jmp 0x419a7a
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x419a7a
push edi
call fcn.00423af2
push esi
jmp 0x419a73
mov eax, dword [0x95ab08]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [0x95ab0c]
mov dword [esp + 0x30], eax
mov eax, dword [0x858088]
mov ecx, dword [edi + esi + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [0x95ab14]
push ebx
push dword [eax + ecx*4]
call fcn.004184eb
cmp dword [ebx], 0
pop ecx
pop ecx
je 0x419179
push dword [ebx]
call fcn.00417ba6
mov edx, dword [0x95ab10]
mov eax, dword [0x95ab14]
pop ecx
mov ecx, dword [edi + edx + 0x14]
imul eax, dword [eax + ecx*4 + 4], 0x18
xor ecx, ecx
mov eax, dword [eax + edx + 0xc]
cmp eax, dword [0x95bc40]
cmove ecx, dword [0x95bb84]
mov dword [ebx], ecx
jmp 0x4191b1
mov edx, dword [0x95ab10]
mov eax, dword [0x95ab14]
mov ecx, dword [edi + edx + 0x14]
imul eax, dword [eax + ecx*4 + 4], 0x18
mov eax, dword [eax + edx + 0xc]
cmp eax, dword [0x95bc40]
jne 0x4191aa
xor eax, eax
cmp byte [0x857075], al
cmovne eax, dword [0x95bb84]
jmp 0x4191af
mov eax, dword [0x95bb84]
mov dword [ebx], eax
cmp dword [0x95ab00], 0
jne 0x4191ce
push dword [esp + 0x30]
call fcn.00423af2
push dword [esp + 0x30]
call fcn.00423a8c
pop ecx
pop ecx
cmp dword [ebx], 0
mov eax, dword [esp + 0x28]
mov dword [0x858088], eax
je 0x41a513
push ebp
call fcn.0042343c
xor ecx, ecx
mov dword [ebx], eax
inc ecx
push ecx
push eax
call fcn.00423aba
mov eax, dword [0x95ab10]
mov ecx, dword [edi + eax + 0x14]
mov eax, dword [0x95ab14]
push dword [eax + ecx*4 + 4]
push dword [ebx]
call fcn.00422f47
push 2
push dword [ebx]
call fcn.00423a64
add esp, 0x1c
jmp 0x41a513
mov eax, dword [0x95ab0c]
mov edx, dword [esp + 0x18]
and dword [esp + 0x14], 0
mov edi, dword [0x95ab08]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
mov ecx, dword [edx + esi + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + ecx*4]
call fcn.004184eb
cmp dword [esp + 0x1c], 0
pop ecx
pop ecx
je 0x4192de
push ebp
call fcn.0042343c
push 0
push eax
mov dword [ebx], eax
call fcn.00423aba
push dword [esp + 0x20]
push dword [ebx]
call fcn.00422f47
add esp, 0x14
cmp byte [0x857075], 0
jne 0x41a513
imul ecx, dword [esp + 0x14], 0x18
mov eax, dword [0x95ab10]
mov edx, dword [ecx + eax + 0xc]
mov eax, dword [ecx + eax]
mov dword [esp + 0x24], edx
cmp eax, 0xf
je 0x4192d3
cmp eax, 0xd
jne 0x4192b0
mov eax, dword [0x9cfea4]
mov eax, dword [eax + edx*4]
cmp byte [eax], 0x27
je 0x4192c2
jmp 0x4192d3
cmp eax, 0xc
jne 0x4192d3
mov eax, dword [0x9cfea4]
mov eax, dword [eax + edx*4]
cmp byte [eax], 0x22
jne 0x4192d3
lea eax, [esp + 0x24]
push eax
push edx
call fcn.00417fab
mov edx, dword [esp + 0x2c]
pop ecx
pop ecx
push edx
call fcn.004181f4
jmp 0x41a512
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x41a513
push dword [esp + 0x30]
call fcn.00423af2
push edi
jmp 0x418dd2
mov eax, dword [0x95ab08]
mov edi, dword [esp + 0x18]
and dword [esp + 0x14], 0
mov dword [esp + 0x20], eax
mov eax, dword [0x95ab0c]
mov ecx, dword [edi + esi + 0x14]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + ecx*4]
call fcn.004184eb
mov edx, dword [esp + 0x1c]
pop ecx
pop ecx
test edx, edx
je 0x4193be
cmp byte [0x857075], 0
jne 0x41939b
call fcn.0041820e
imul ecx, edx, 0x18
mov edx, dword [0x95ab10]
cmp dword [ecx + edx + 0xc], eax
je 0x419396
mov ecx, dword [edi + edx + 0x14]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + ecx*4]
call fcn.004184eb
cmp dword [0x95ab00], 0
pop ecx
pop ecx
jne case.0x4197e6.7
push dword [esp + 0x24]
call fcn.00423af2
push dword [esp + 0x24]
call fcn.00423a8c
pop ecx
jmp 0x41a4ec
call fcn.004181ed
push ebp
call fcn.0042343c
push 0
push eax
mov dword [ebx], eax
call fcn.00423aba
push dword [esp + 0x20]
push dword [ebx]
call fcn.00422f47
add esp, 0x14
jmp 0x41a513
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x41a513
push dword [esp + 0x24]
call fcn.00423af2
push dword [esp + 0x24]
jmp 0x418dd2
push ebp
call fcn.0042343c
push dword [0x85705c]
mov dword [ebx], eax
push eax
call fcn.00423adf
add esp, 0xc
call fcn.00417b37
jmp 0x41a513
cmp ecx, dword [esp + 0x1c]
jne 0x41a513
cmp byte [0x857075], 0
mov eax, dword [0x9cfe98]
je 0x419447
mov ecx, dword [0x857058]
push dword [eax + ecx*4]
call fcn.0042343c
push dword [0x85705c]
mov dword [ebx], eax
push eax
call fcn.00423adf
push dword [0x857060]
push dword [ebx]
call fcn.00423aba
add esp, 0x14
jmp 0x4193f7
mov edx, dword [0x857058]
cmp dword [eax + edx*4], 0
jne 0x41947c
mov eax, dword [0x9cfea4]
push ecx
push dword [eax + edx*4]
call fcn.004204c1
mov esi, dword [0x95ab10]
mov edx, eax
mov eax, dword [0x9cfe98]
pop ecx
pop ecx
mov ecx, dword [0x857060]
mov dword [0x857058], edx
mov edi, dword [0x85705c]
cmp dword [eax + edi*4], 0
jne 0x4194b1
mov eax, dword [0x9cfea4]
push ecx
push dword [eax + edi*4]
call fcn.004204c1
mov esi, dword [0x95ab10]
mov edi, eax
mov edx, dword [0x857058]
mov eax, dword [0x9cfe98]
pop ecx
pop ecx
mov dword [0x85705c], edi
mov eax, dword [eax + edx*4]
imul ecx, eax, 0x18
cmp dword [ecx + esi + 0x10], edi
jne 0x4194c4
mov dword [ebx], eax
jmp 0x4193f7
push eax
jmp 0x4193e1
cmp ecx, 0x14
jne 0x41a513
mov ecx, dword [0x857058]
mov eax, dword [0x9cfea4]
push 0x448850
push dword [eax + ecx*4]
call fcn.0041ead1
pop ecx
pop ecx
test eax, eax
jne 0x419513
mov ecx, dword [0x857058]
mov eax, dword [0x9cfea4]
push 0x448854
push dword [eax + ecx*4]
call fcn.0041ead1
test eax, eax
pop ecx
pop ecx
je 0x41a513
push ebp
call fcn.0042343c
push dword [0x857058]
mov dword [ebx], eax
push eax
call fcn.00423acc
push dword [0x85705c]
push dword [ebx]
call fcn.00423adf
jmp 0x419442
cmp ecx, 0x14
jne 0x41a513
mov ecx, dword [0x857058]
mov eax, dword [0x9cfea4]
push 0x448708
push dword [eax + ecx*4]
call fcn.0041ead1
pop ecx
pop ecx
test eax, eax
je 0x41a513
mov ecx, dword [0x857058]
mov eax, dword [0x9cfea4]
push 0x448850
push dword [eax + ecx*4]
call fcn.0041ead1
pop ecx
pop ecx
test eax, eax
jne 0x41a513
mov ecx, dword [0x857058]
mov eax, dword [0x9cfea4]
push 0x448854
push dword [eax + ecx*4]
call fcn.0041ead1
pop ecx
pop ecx
test eax, eax
jne 0x41a513
jmp 0x419513
cmp ecx, 0x14
jne 0x41a513
mov ecx, dword [0x857058]
mov eax, dword [0x9cfea4]
push 0x448708
push dword [eax + ecx*4]
call fcn.0041ead1
pop ecx
pop ecx
test eax, eax
jne 0x41a513
jmp 0x419564
cmp ecx, 0xf
jne 0x41a513
mov eax, dword [0x9cfea4]
mov ecx, dword [0x857058]
mov ecx, dword [eax + ecx*4]
movzx eax, byte [ecx]
cmp byte [eax + 0xdd1de0], 0
jne 0x419513
push ecx
call fcn.0042b680
jmp 0x41959f
cmp ecx, 0xf
jne 0x41a513
mov eax, dword [0x9cfea4]
mov ecx, dword [0x857058]
mov ecx, dword [eax + ecx*4]
movzx eax, byte [ecx]
cmp byte [eax + 0xdd1be0], 0
jmp 0x4195fb
cmp ecx, 0xf
jne 0x41a513
mov eax, dword [0x9cfea4]
mov ecx, dword [0x857058]
mov ecx, dword [eax + ecx*4]
movzx eax, byte [ecx]
cmp byte [eax + 0xdd1de0], 0
je 0x41a513
push 0xdd1ce0
push ecx
call fcn.0041f451
test al, al
jmp 0x41950b
cmp ecx, 0xf
jne 0x41a513
mov eax, dword [0x9cfea4]
mov ecx, dword [0x857058]
mov ecx, dword [eax + ecx*4]
movzx eax, byte [ecx]
cmp byte [eax + 0xdd1be0], 0
je 0x41a513
push 0xdd1ae0
jmp 0x419658
cmp ecx, 0x19
je 0x41a513
cmp ecx, 0xa
je 0x41a513
push ebp
call fcn.0042343c
push dword [0x857060]
push eax
mov dword [ebx], eax
call fcn.00423aba
push dword [0x857058]
push dword [ebx]
call fcn.00423acc
push dword [0x85705c]
push dword [ebx]
call fcn.00423adf
add esp, 0x1c
jmp 0x4193f7
cmp ecx, 0x19
jne 0x41a513
push ebp
call fcn.0042343c
push 0xb
jmp 0x4196b1
cmp ecx, 0x18
jmp 0x4195a2
call fcn.00423301
push 0x1c
push eax
mov dword [ebx], eax
call fcn.00423aba
cmp byte [0x857075], 0
pop ecx
pop ecx
je 0x41971d
push 0
push dword [ebx]
call fcn.00423acc
pop ecx
pop ecx
jmp 0x41974f
imul ecx, dword [0x95ab20], 0x14
lea eax, [esp + 0x30]
push eax
mov eax, dword [0x95ab24]
push 0x14
mov eax, dword [ecx + eax + 0xc]
cdq
idiv dword [0x9cfe74]
push edx
call fcn.00418011
push dword [esp + 0x3c]
push dword [ebx]
call fcn.00423acc
add esp, 0x14
mov edx, dword [ebx]
mov eax, dword [0x95ab10]
imul ecx, edx, 0x18
push dword [ecx + eax + 0xc]
push edx
call fcn.00423adf
jmp 0x418dd7
call fcn.00423301
push 0x1d
push eax
mov dword [ebx], eax
call fcn.00423aba
cmp byte [0x857075], 0
pop ecx
pop ecx
je 0x419786
xor eax, eax
jmp 0x4197af
imul ecx, dword [0x95ab20], 0x14
mov eax, dword [0x95ab24]
push 0xf
mov eax, dword [ecx + eax + 0xc]
cdq
idiv dword [0x9cfe74]
shl eax, 0xc
add eax, 0x9cfec0
push eax
call fcn.004204c1
pop ecx
pop ecx
push eax
push dword [ebx]
call fcn.00423acc
mov edx, dword [ebx]
mov eax, dword [0x95ab10]
imul ecx, edx, 0x18
push dword [ecx + eax + 0xc]
push edx
call fcn.00423adf
jmp 0x418daf
push edx
jmp 0x41a50d
cmp eax, 0x3b
ja case.default.0x4197e6
movzx eax, byte [eax + 0x41a6a7]
jmp dword [eax*4 + 0x41a677]
imul eax, dword [ebx], 0x18
mov eax, dword [eax + esi + 0xc]
cmp eax, dword [0x95bc48]
jne 0x419810
mov eax, dword [0xdd232c]
mov ecx, 0x1f7
mov dword [0xdd2328], eax
jmp 0x4189c6
cmp eax, dword [0x95bc44]
jne case.0x4197e6.7
mov byte [0x857076], dl
jmp case.0x4197e6.7
mov eax, dword [esp + 0x18]
mov ecx, dword [0x95ab08]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x95ab0c]
movzx ebx, word [eax + esi + 8]
mov eax, dword [eax + esi + 0x14]
mov dword [esp + 0x30], eax
imul eax, dword [esp + 0x24], 0x18
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ecx
mov byte [esp + 0x11], dl
mov eax, dword [eax + esi + 0x14]
mov esi, ebx
dec eax
mov dword [esp + 0x18], eax
lea edi, [eax + ebx]
mov ebp, edi
shl ebp, 2
xor ebx, ebx
mov ecx, dword [0x95ab14]
mov eax, dword [0x95ab20]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + ebp]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
add eax, esi
push dword [ecx + eax*4 - 4]
call fcn.004184eb
push dword [esp + 0x2c]
push edi
call fcn.00423a96
mov ecx, dword [0x95ab14]
add esp, 0x10
mov dl, byte [0x857076]
cmp dword [ecx + ebp], ebx
jne 0x4198f9
xor eax, eax
dec esi
sub ebp, 4
inc eax
dec edi
cmp esi, eax
jl 0x4198ca
mov byte [esp + 0x11], al
test dl, dl
je 0x419874
mov ebx, dword [esp + 0x3c]
test esi, esi
jle 0x41992c
test dl, dl
je 0x41994c
mov edi, dword [esp + 0x18]
lea edi, [esi + edi]
shl edi, 2
push dword [edi + ecx]
call fcn.00417ba6
lea edi, [edi - 4]
pop ecx
sub esi, 1
je 0x41992c
mov ecx, dword [0x95ab14]
jmp 0x4198e0
cmp byte [esp + 0x11], bl
je 0x41990f
mov eax, dword [esp + 0x2c]
cmp dword [0x95ab20], eax
je 0x419874
inc esi
add ebp, 4
inc edi
cmp esi, dword [esp + 0x28]
jg 0x4198ca
push ebx
push edi
mov byte [esp + 0x19], bl
call fcn.00423a96
pop ecx
pop ecx
jmp 0x41986e
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x41994c
push dword [esp + 0x20]
call fcn.00423af2
push dword [esp + 0x20]
call fcn.00423a8c
pop ecx
pop ecx
mov ebp, dword [esp + 0x38]
mov byte [0x857076], 0
jmp 0x41a513
mov edx, dword [esp + 0x18]
inc edi
mov eax, dword [0x857068]
mov dword [0x857064], edi
mov ecx, dword [edx + esi + 0xc]
mov dword [eax + edi*4], ecx
mov eax, dword [0x85706c]
and dword [eax + edi*4], 0
mov esi, dword [0x95ab10]
mov eax, dword [0x95ab08]
mov dword [esp + 0x28], eax
mov eax, dword [0x95ab0c]
mov dword [esp + 0x2c], eax
movzx eax, word [edx + esi + 8]
imul edx, dword [ebx], 0x18
mov dword [esp + 0x30], eax
mov eax, dword [0x95ab14]
mov ecx, dword [edx + esi + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14], eax
movzx edi, word [edx + esi + 8]
mov edx, dword [esp + 0x18]
mov eax, dword [0x95ab20]
mov dword [esp + 0x24], eax
mov eax, dword [edx + esi + 0x14]
add eax, edi
lea esi, [eax*4 - 4]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [esi + eax]
call fcn.004184eb
cmp dword [esp + 0x1c], 0
pop ecx
pop ecx
je 0x419a37
mov eax, dword [esp + 0x24]
cmp dword [0x95ab20], eax
je 0x4199cf
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push dword [esp + 0x14]
push dword [ecx + eax + 0x14]
call fcn.00423a96
push edi
push dword [ebx]
call fcn.00423a64
add esp, 0x10
cmp dword [esp + 0x14], 0
je 0x419a5a
mov eax, dword [esp + 0x24]
cmp dword [0x95ab20], eax
jne 0x419a7a
push dword [esp + 0x14]
call fcn.00417ba6
and dword [ebx], 0
jmp 0x419a79
cmp edi, dword [esp + 0x30]
je 0x419a5a
mov edx, dword [0x857064]
inc edi
mov eax, dword [0x85706c]
add esi, 4
mov ecx, dword [0x95ab20]
mov dword [eax + edx*4], ecx
jmp 0x4199cf
and dword [ebx], 0
cmp dword [0x95ab00], 0
jne 0x419a7a
push dword [esp + 0x2c]
call fcn.00423af2
push dword [esp + 0x2c]
call fcn.00423a8c
pop ecx
pop ecx
dec dword [0x857064]
jmp 0x41a513
mov ecx, dword [esp + 0x18]
mov ebp, dword [0x95bb84]
mov eax, dword [ecx + esi + 0x14]
mov dword [esp + 0x30], eax
imul eax, dword [ebx], 0x18
mov edx, dword [eax + esi + 0x14]
mov eax, dword [0x95ab14]
cmp dword [eax + edx*4], ebp
mov ebp, dword [esp + 0x38]
jne 0x419ae5
cmp byte [0x857075], 0
je 0x4185e8
mov ecx, dword [0x95bb84]
cmp dword [eax + edx*4 + 4], ecx
je 0x4185e8
call fcn.00417b77
imul eax, dword [ebx], 0x18
mov ecx, dword [0x95ab14]
mov eax, dword [eax + esi + 0x14]
imul eax, dword [ecx + eax*4 + 4], 0x18
jmp 0x4185cb
mov eax, dword [0x857068]
inc edi
mov ecx, dword [ecx + esi + 0xc]
mov esi, dword [esp + 0x30]
mov dword [0x857064], edi
mov dword [eax + edi*4], ecx
mov eax, dword [0x85706c]
mov ecx, dword [0x95ab20]
mov byte [esp + 0x11], 0
mov dword [eax + edi*4], ecx
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
mov edi, dword [0x95ab20]
mov ecx, dword [ecx + eax + 0x14]
mov eax, dword [0x95ab14]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x419b74
mov bl, byte [esp + 0x11]
cmp dword [0x95ab20], edi
jne 0x419b68
test bl, bl
jne 0x419b68
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x419b47
mov ebx, dword [esp + 0x3c]
test eax, eax
jne 0x419c1b
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
mov edi, dword [0x95ab20]
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push dword [ecx + esi*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x419c34
cmp dword [0x95ab20], edi
je 0x419bc1
push eax
call fcn.00418061
pop ecx
test al, al
je 0x419bdf
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + esi*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x419bae
jmp 0x419be3
mov eax, dword [esp + 0x14]
test eax, eax
je 0x419c34
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
push dword [ecx + eax + 0x14]
call fcn.00423a96
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push 0
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
add esp, 0x10
mov byte [esp + 0x11], 1
jmp 0x419b0f
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
jmp 0x419a78
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push dword [0x95bb84]
push dword [ecx + eax + 0x14]
call fcn.00423a96
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push dword [0x95bb84]
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
add esp, 0x10
jmp 0x419a7a
mov edx, dword [esp + 0x18]
mov byte [esp + 0x11], 0
mov edi, dword [edx + esi + 0x14]
imul eax, dword [ebx], 0x18
mov ecx, dword [0x95ab14]
mov eax, dword [eax + esi + 0x14]
mov esi, dword [0x95ab20]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push dword [ecx + edi*4 + 4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x419ce5
mov bl, byte [esp + 0x11]
cmp dword [0x95ab20], esi
jne 0x419cd9
test bl, bl
jne 0x419cd9
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + edi*4 + 4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x419cb0
mov ebx, dword [esp + 0x3c]
test eax, eax
jne 0x419d96
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
mov esi, dword [0x95ab20]
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push dword [ecx + edi*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je case.0x4197e6.7
cmp dword [0x95ab20], esi
je 0x419d32
push eax
call fcn.00418061
pop ecx
test al, al
je 0x419d50
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + edi*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x419d1f
jmp 0x419d54
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x4197e6.7
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
push dword [ecx + eax + 0x14]
call fcn.00423a96
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push 0
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
mov esi, dword [0x95ab10]
add esp, 0x10
mov byte [esp + 0x11], 1
jmp 0x419c79
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
jmp 0x418dd7
mov edi, dword [esp + 0x18]
mov ebp, dword [0x95bb84]
mov eax, dword [edi + esi + 0x14]
mov dword [esp + 0x20], eax
imul eax, dword [ebx], 0x18
mov dword [esp + 0x24], eax
mov ecx, dword [eax + esi + 0x14]
mov eax, dword [0x95ab14]
cmp dword [eax + ecx*4], ebp
mov ebp, dword [esp + 0x38]
jne 0x419df6
cmp byte [0x857075], 0
je 0x4185e8
mov edx, dword [0x95bb84]
cmp dword [eax + ecx*4 + 4], edx
jmp 0x419ac3
mov ebx, dword [esp + 0x24]
xor ecx, ecx
mov byte [esp + 0x13], cl
cmp dword [ebx + esi], 3
mov ebx, dword [esp + 0x3c]
jne 0x419e44
mov ebx, dword [esp + 0x24]
mov ebp, dword [ebx + esi + 0x14]
mov ebx, dword [esp + 0x3c]
imul eax, dword [eax + ebp*4 + 4], 0x18
mov ebp, dword [esp + 0x38]
cmp dword [eax + esi], 3
jne 0x419e3e
mov edi, dword [0x95ab14]
mov eax, dword [eax + esi + 0x14]
imul eax, dword [edi + eax*4 + 4], 0x18
mov edi, dword [esp + 0x18]
cmp dword [eax + esi], 0xa
je 0x419e44
mov byte [esp + 0x11], dl
jmp 0x419e48
mov byte [esp + 0x11], cl
imul eax, dword [ebx], 0x18
mov ecx, dword [0x95ab14]
mov eax, dword [eax + esi + 0x14]
mov esi, dword [0x95ab20]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x419ea9
mov bl, byte [esp + 0x13]
cmp dword [0x95ab20], esi
jne 0x419e9d
test bl, bl
jne 0x419e9d
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x419e7c
mov ebx, dword [esp + 0x3c]
test eax, eax
jne 0x419fbc
cmp byte [esp + 0x11], 0
je 0x419eb5
call fcn.00417b77
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
mov esi, dword [0x95ab20]
mov byte [esp + 0x11], 0
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
push dword [ecx + eax*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x41a039
mov ebp, dword [esp + 0x20]
cmp dword [0x95ab20], esi
jne 0x419f20
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + ebp*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x419efc
mov ebp, dword [esp + 0x38]
test eax, eax
je 0x41a039
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
push dword [ecx + eax + 0x14]
call fcn.00423a96
cmp dword [0x857060], 0x18
pop ecx
pop ecx
je 0x419f87
mov eax, dword [0x857058]
cmp eax, dword [0x95bc78]
jne 0x419f87
call fcn.00417b37
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push 0
mov byte [esp + 0x15], 1
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
mov esi, dword [0x95ab10]
pop ecx
pop ecx
mov byte [esp + 0x13], 1
jmp 0x419e48
mov eax, dword [0x95ab10]
xor ecx, ecx
push ecx
push ecx
push dword [edi + eax + 0x10]
push dword [edi + eax + 0xc]
push 3
call fcn.00423468
mov ecx, dword [0x95bb84]
push ecx
push ecx
push eax
mov dword [esp + 0x34], eax
call fcn.00422fed
mov eax, dword [esp + 0x34]
add esp, 0x20
test eax, eax
je 0x41a039
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
mov edx, dword [0x95ab10]
pop ecx
pop ecx
imul ecx, dword [esp + 0x14], 0x18
cmp dword [ecx + edx], 3
jne 0x41a513
mov ecx, dword [ecx + edx + 0x14]
mov eax, dword [0x95ab14]
imul eax, dword [eax + ecx*4 + 4], 0x18
cmp dword [eax + edx], 0xa
jne 0x41a513
cmp byte [esp + 0x11], 0
je 0x41a513
mov eax, dword [0x95ab20]
test eax, eax
jle 0x41a513
imul ecx, eax, 0x14
mov eax, dword [0x95ab24]
mov eax, dword [ecx + eax - 0x14]
cmp eax, dword [0x95bc78]
jne 0x41a513
call fcn.00417b77
jmp 0x41a513
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push dword [0x95bb84]
push dword [ecx + eax + 0x14]
call fcn.00423a96
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push dword [0x95bb84]
mov eax, dword [ecx + eax + 0x14]
inc eax
jmp 0x418da9
mov edx, dword [esp + 0x18]
xor ecx, ecx
push 3
pop edi
mov byte [esp + 0x13], cl
mov eax, dword [edx + esi + 0x14]
mov edx, dword [0x95ab14]
mov dword [esp + 0x30], eax
imul eax, dword [ebx], 0x18
cmp dword [eax + esi], edi
jne 0x41a0af
mov eax, dword [eax + esi + 0x14]
imul eax, dword [edx + eax*4 + 4], 0x18
cmp dword [eax + esi], edi
jne 0x41a0a8
mov eax, dword [eax + esi + 0x14]
imul eax, dword [edx + eax*4 + 4], 0x18
cmp dword [eax + esi], 0xa
je 0x41a0af
mov byte [esp + 0x11], 1
jmp 0x41a0b3
mov byte [esp + 0x11], cl
imul eax, dword [ebx], 0x18
mov eax, dword [eax + esi + 0x14]
mov esi, dword [esp + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0x14], eax
mov eax, dword [0x95ab20]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x14]
push eax
push dword [edx + esi*4 + 4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x41a128
mov bl, byte [esp + 0x13]
mov ebp, dword [esp + 0x2c]
cmp dword [0x95ab20], ebp
jne 0x41a118
test bl, bl
jne 0x41a118
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + esi*4 + 4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x41a0ef
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
test eax, eax
jne 0x41a24d
cmp byte [esp + 0x11], 0
je 0x41a134
call fcn.00417b77
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
mov byte [esp + 0x11], 0
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
mov eax, dword [0x95ab20]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x14]
push eax
push dword [ecx + esi*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je case.0x4197e6.7
mov ebp, dword [esp + 0x2c]
cmp dword [0x95ab20], ebp
jne 0x41a19e
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
push dword [eax + esi*4]
call fcn.004184eb
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
jne 0x41a17a
mov ebp, dword [esp + 0x38]
test eax, eax
je case.0x4197e6.7
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
push dword [ecx + eax + 0x14]
call fcn.00423a96
cmp dword [0x857060], 0x18
pop ecx
pop ecx
je 0x41a20b
mov eax, dword [0x857058]
cmp eax, dword [0x95bc78]
jne 0x41a20b
call fcn.00417b37
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push 0
mov byte [esp + 0x15], 1
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
mov esi, dword [0x95ab10]
mov edx, dword [0x95ab14]
pop ecx
pop ecx
mov byte [esp + 0x13], 1
jmp 0x41a0b3
mov eax, dword [0x95ab14]
xor edx, edx
push edx
push edx
imul ecx, dword [eax + esi*4 + 4], 0x18
mov eax, dword [0x95ab10]
push dword [ecx + eax + 0x10]
push dword [ecx + eax + 0xc]
push edi
call fcn.00423468
mov ecx, dword [0x95bb84]
push ecx
push ecx
push eax
mov dword [esp + 0x34], eax
call fcn.00422fed
mov eax, dword [esp + 0x34]
add esp, 0x20
test eax, eax
je case.0x4197e6.7
imul ecx, dword [ebx], 0x18
push eax
mov eax, dword [0x95ab10]
mov eax, dword [ecx + eax + 0x14]
inc eax
push eax
call fcn.00423a96
mov edx, dword [0x95ab10]
pop ecx
pop ecx
imul ecx, dword [esp + 0x14], 0x18
cmp dword [ecx + edx], edi
jmp 0x419fe1
mov edx, dword [esp + 0x18]
inc edi
mov eax, dword [0x857068]
mov dword [0x857064], edi
mov ecx, dword [edx + esi + 0xc]
mov dword [eax + edi*4], ecx
mov eax, dword [0x85706c]
and dword [eax + edi*4], 0
mov ecx, dword [ebx]
mov ebp, dword [0x95ab10]
mov esi, dword [0x95ab08]
mov edi, dword [0x95ab0c]
imul eax, ecx, 0x18
movzx eax, word [eax + ebp + 8]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
cmp eax, 2
jbe 0x41a2e6
cmp byte [esp + 0x10], 0
jne 0x41a2e6
push ecx
call fcn.00417ba6
pop ecx
and dword [ebx], 0
cmp dword [0x95ab00], 0
je 0x419102
jmp 0x419a7a
mov eax, dword [0x95ab10]
mov edx, dword [edx + eax + 0x14]
lea eax, [esp + 0x14]
push eax
mov eax, dword [0x95ab14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x34], edx
push dword [eax + edx*4 + 4]
call fcn.004183a9
cmp dword [esp + 0x1c], 0
pop ecx
pop ecx
je 0x41a3d4
cmp byte [esp + 0x10], 0
jne 0x41a33b
mov eax, dword [0x95ab10]
mov edx, dword [esp + 0x18]
mov ax, word [edx + eax + 8]
inc ax
movzx eax, ax
push eax
push dword [ebx]
call fcn.00423a64
pop ecx
pop ecx
push ebp
call fcn.0042343c
xor ecx, ecx
mov dword [ebx], eax
inc ecx
push ecx
push eax
call fcn.00423aba
push dword [esp + 0x20]
push dword [ebx]
call fcn.00422f47
push 2
push dword [ebx]
call fcn.00423a64
imul eax, dword [ebx], 0x18
mov edx, dword [0x95ab10]
mov ecx, dword [0x95ab14]
mov eax, dword [eax + edx + 0x14]
mov ebp, dword [ecx + eax*4]
imul edi, ebp, 0x18
mov eax, dword [edi + edx + 0x14]
imul eax, dword [ecx + eax*4 + 4], 0x18
mov eax, dword [eax + edx + 0x14]
mov ebx, dword [ecx + eax*4]
imul esi, ebx, 0x18
push dword [esi + edx + 0x10]
push ebp
call fcn.00423acc
mov eax, dword [0x95ab10]
push dword [edi + eax + 0x10]
push ebx
call fcn.00423acc
mov eax, dword [0x95ab10]
push dword [edi + eax + 0xc]
push ebp
call fcn.00423adf
mov eax, dword [0x95ab10]
push dword [esi + eax + 0xc]
push ebx
call fcn.00423adf
mov ebx, dword [esp + 0x78]
add esp, 0x3c
mov ebp, dword [esp + 0x38]
jmp 0x419a7a
cmp byte [esp + 0x10], 0
je 0x41a40f
call fcn.00417b77
imul eax, dword [ebx], 0x18
mov ecx, dword [0x95ab10]
cmp dword [eax + ecx], 0x3c
jne 0x41a2d1
push dword [eax + ecx + 0xc]
push dword [0x857078]
push 0x857080
call fcn.0040d579
add esp, 0xc
jmp 0x41a2d1
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [0x95ab14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x30]
push dword [ecx + eax*4 - 4]
call fcn.004184eb
cmp dword [esp + 0x1c], 0
pop ecx
pop ecx
je 0x41a2d1
imul ecx, dword [ebx], 0x18
mov eax, dword [0x95ab10]
push dword [esp + 0x14]
push dword [ecx + eax + 0x14]
call fcn.00423a96
push dword [esp + 0x30]
push dword [ebx]
call fcn.00423a64
jmp 0x419c64
cmp byte [0x857075], 0
jne 0x41a47e
call fcn.004181ed
imul eax, dword [ebx], 0x18
mov ecx, dword [0x95ab14]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + esi + 0x14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [edx + esi + 0x14]
push dword [ecx + eax*4]
call fcn.004184eb
and dword [ebx], 0
pop ecx
jmp 0x41a512
imul eax, dword [ebx], 0x18
mov ecx, dword [0x95ab14]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + esi + 0x14]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [edx + esi + 0x14]
push dword [ecx + eax*4]
call fcn.004184eb
cmp byte [0x857075], 0
pop ecx
pop ecx
jne case.0x4197e6.7
push dword [0x857058]
call fcn.004181f4
pop ecx
and dword [ebx], 0
jmp 0x41a513
cmp dword [0x95ab20], 0
jg 0x41a503
push 2
call fcn.00417ec1
pop ecx
and dword [ebx], 0
jmp 0x41a02f
push 3
call fcn.00417ec1
pop ecx
cmp byte [0x9cfe23], 0
je 0x41a526
push dword [ebx]
push ebp
call fcn.0041a854
pop ecx
pop ecx
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x24
ret
mov eax, dword [0xdd232c]
mov edx, 0x1f6
mov dword [0xdd2328], eax
mov dword [eax], edx
mov ecx, dword [0xdd2328]
cmp ecx, 0xdd22e0
je 0x41a55a
mov eax, dword [0xdd232c]
mov eax, dword [eax + 0x44]
mov dword [0xdd232c], eax
push edx
lea eax, [ecx + 4]
push eax
call fcn.00424b45
call fcn.00417d7a
mov eax, dword [0xdd232c]
mov edx, 0x1f8
mov dword [0xdd2328], eax
mov dword [eax], edx
mov ecx, dword [0xdd2328]
cmp ecx, 0xdd22e0
je 0x41a595
mov eax, dword [0xdd232c]
mov eax, dword [eax + 0x44]
mov dword [0xdd232c], eax
push edx
lea eax, [ecx + 4]
push eax
call fcn.00424b45
mov eax, dword [0xdd232c]
mov ecx, 0x1f7
mov dword [0xdd2328], eax
mov dword [eax], ecx
mov edx, dword [0xdd2328]
cmp edx, 0xdd22e0
je 0x41a5cb
mov eax, dword [0xdd232c]
mov eax, dword [eax + 0x44]
mov dword [0xdd232c], eax
push ecx
lea eax, [edx + 4]
push eax
call fcn.00424b45
nop
out 0x87, eax
inc ecx
add byte [eax - 0x77], al
inc ecx
add ch, al
mov word [ecx], es
adc eax, 0x5e00418f
nop
inc ecx
add byte [eax - 0x75], cl
inc ecx
add ch, bl
lea eax, [ecx]
push cs
xchg ecx, eax
inc ecx
add byte [edx + edx*4], bl
inc ecx
add ch, bh
xchg edx, eax
inc ecx
add al, ah
xchg dword [ecx], eax
add byte [edi - 0x6bfeffbf], 0x41
add byte [ebx - 637517418], dl
xchg ebp, eax
inc ecx
add byte [esi + edx*4], ch
inc ecx
add byte [ecx], cl
xchg esi, eax
inc ecx
add byte [ebp - 0x6a], ah
inc ecx
add dl, cl
xchg esp, eax
inc ecx
add byte [ecx], bh
xchg ebp, eax
inc ecx
add byte [ebp - 0x11ffbe6b], ch
xchg esi, eax
inc ecx
add bl, bl
xchg esi, eax
inc ecx
add dh, dh
xchg esi, eax
inc ecx
add byte [eax - 0x69], ch
inc ecx
add byte [eax], al
add dword [edx], eax
add eax, dword [eax + 151521030]
or cl, byte [ebx]
or al, 12
or eax, 269422092
adc dword [edx + edx], ecx
adc edx, dword [edx + 386665494]
sbb byte [esp + ecx], cl
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
or al, 12
daa
cwde
inc ecx
add byte [ecx + ebx*4 + 0x41], bl
add byte [esp + ebx*4 + 0x41], ch
add byte [eax - 0x60], ch
inc ecx
add byte [esi - 0x5e], dh
inc ecx
add byte [ebp - 0x50ffbe66], al
popfd
inc ecx
add ch, ch
movsb byte es:[edi], byte [esi]
inc ecx
add byte [eax - 0x5c], dh
inc ecx
add byte [ebp - 0x12ffbe5c], ch
xchg edi, eax
inc ecx
add dl, dh
movsb byte es:[edi], byte [esi]
inc ecx
add byte [eax], al
add dword [edx], eax
add eax, dword [eax + 151521030]
or cl, byte [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
pop es
pop es
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
push ebp
mov ebp, esp
mov eax, 0x2004
call fcn.00423f20
mov eax, dword [0x451220]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
cmp esi, dword [0x85808c]
je 0x41a77a
mov eax, dword [0x95ab10]
imul ecx, esi, 0x18
mov ecx, dword [ecx + eax + 0xc]
mov eax, dword [0x9cfea4]
push dword [eax + ecx*4]
lea eax, [ebp - 0x2004]
push str.define__s
push eax
call fcn.00401b4f
mov eax, dword [0x85705c]
mov ecx, dword [0x9cfea4]
push 0xa
push dword [ecx + eax*4]
lea eax, [ebp - 0x1004]
push str.Empty_recursion_could_not_be_resolved_with_lookahead__s_after__d_recursions__using_pruning_heuristic_to_recover_
push eax
call fcn.00401b4f
push 0x7b
push 1
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x2004]
push eax
call fcn.0041f48b
add esp, 0x2c
cmp byte [0x9cfe2b], 0
je 0x41a774
call fcn.00417e02
mov dword [0x85808c], esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00423f0c
leave
ret