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

Disassembly:
sub esp, 0xb0
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x40], 0
mov ax, word [ebp + 0x1e4]
mov ecx, dword [ebp + 0x38244]
movsx edx, word [ebp + 0x1e6]
movsx esi, ax
mov eax, dword [ebp + 0x72578]
mov dword [esp + 0x10], edx
test ecx, ecx
mov dword [esp + 0x18], esi
je 0x468db0
cmp dword [ebp + 0x72db4], 1
jne 0x468da2
push eax
push 0
push edx
push esi
call fcn.004a13b0
jmp 0x468db0
push 0
push 0
push eax
push 0
push edx
push esi
call fcn.0049e020
lea ebx, [ebp + 0x730ed]
mov ecx, 0x20
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
lea edi, [ebp + 0x732ad]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4c2e3c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x72eec]
test edx, edx
jle 0x468e5e
mov ecx, 0x1e
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x4c]
push 0x4c2e2c
push eax
call dword [sym.imp.user32.dll_wsprintfA]
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x1e
xor eax, eax
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x72ed4]
lea ecx, [esp + 0x48]
push eax
push 0x4c2e18
push ecx
call dword [sym.imp.user32.dll_wsprintfA]
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebx, [ebp + 0x7f1c]
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x730ed]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
lea esi, [eax + 0x34]
call fcn.00402880
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0xf]
push ecx
lea edx, [eax + 0xfc]
add eax, 0x18
push edx
push esi
push eax
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.user32.dll_SetRect]
lea edi, [ebp + 0x730ed]
push 0x14142d
lea ecx, [esp + 0x24]
push edi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov ecx, 0x20
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x725dc]
test eax, eax
jne 0x468f36
mov edi, 0x4c16c0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x730ed]
jmp 0x469029
mov eax, dword [ebp + 0x725d4]
test eax, eax
mov eax, dword [ebp + 0x725d8]
je 0x468f58
test eax, eax
je 0x468f51
mov edi, 0x4c16ac
jmp 0x468f66
mov edi, 0x4c1688
jmp 0x468f66
test eax, eax
mov edi, 0x4c1698
jne 0x468f66
mov edi, 0x4c1674
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x730ed]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x72ef4]
test eax, eax
jl 0x469035
mov edi, 0x4c2e14
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x730ed]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp + 0x7339a]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x730ed]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x72ef4]
mov edi, 0x4c2e04
test eax, eax
je 0x46900c
mov edi, 0x4c2df8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x730ed]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x10]
mov ecx, ebx
lea esi, [eax + 0x45]
call fcn.00402880
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0xf]
mov edi, dword [sym.imp.user32.dll_SetRect]
push ecx
lea edx, [eax + 0x113]
push edx
push esi
push eax
lea eax, [esp + 0x30]
push eax
call edi
lea esi, [ebp + 0x730ed]
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov edx, dword [ebp + 0x72eb4]
push edx
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0xfa]
add eax, 0xb4
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
add eax, 0x6a
lea edx, [eax + 0xf]
push edx
push ecx
push eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x2c]
push eax
push ecx
call edi
push 0x19192d
lea edx, [esp + 0x24]
push esi
push edx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov eax, dword [ebp + 0x72ed0]
push eax
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x7d]
lea edx, [eax + 0xf]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
push eax
lea eax, [esp + 0x30]
push eax
call edi
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov eax, dword [ebp + 0x72eb4]
inc eax
mov dword [esp + 0x34], eax
jne 0x46914e
xor eax, eax
jmp 0x469188
mov ecx, dword [esp + 0x34]
mov eax, 0x78787879
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
dec ecx
push ecx
mov ecx, ebp
mov dword [esp + 0x34], edx
call fcn.004475c0
mov ecx, dword [esp + 0x30]
mov edx, ecx
imul edx, ecx
mov ecx, dword [esp + 0x34]
imul edx, ecx
add edx, 0x32
imul edx, ecx
add eax, edx
push eax
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add eax, 0x8e
lea ecx, [eax + 0xf]
push ecx
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
lea edx, [esp + 0x2c]
push eax
push edx
call edi
push 0x19192d
lea eax, [esp + 0x24]
push esi
push eax
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
lea ecx, [ebp + 0x72e88]
call fcn.004a6fd0
mov ecx, eax
mov eax, dword [ebp + 0x72eb8]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [ebp + 0x72ec0]
sar edx, 1
lea eax, [eax + eax*2]
add edx, eax
mov eax, dword [ebp + 0x72eb4]
lea edx, [edx + eax*2]
push edx
push ecx
push 0x4c2df0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add eax, 0xad
lea ecx, [eax + 0xf]
push ecx
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
lea edx, [esp + 0x2c]
push eax
push edx
call edi
push 0x19192d
lea eax, [esp + 0x24]
push esi
push eax
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
lea ecx, [ebp + 0x72e94]
call fcn.004a6fd0
mov ecx, dword [ebp + 0x72eb4]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x72ec8]
add ecx, eax
mov eax, dword [ebp + 0x72ebc]
cdq
sub eax, edx
sar eax, 1
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
push edx
push eax
push 0x4c2df0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402880
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xbf]
lea edx, [eax + 0xf]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
push eax
lea eax, [esp + 0x30]
push eax
call edi
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
lea ecx, [ebp + 0x72ea0]
call fcn.004a6fd0
mov edx, dword [ebp + 0x72eb8]
mov ecx, dword [ebp + 0x72eb4]
add edx, ecx
shl edx, 1
push edx
push eax
push 0x4c2df0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add eax, 0xd0
lea ecx, [eax + 0xf]
push ecx
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
lea edx, [esp + 0x2c]
push eax
push edx
call edi
push 0x19192d
lea eax, [esp + 0x24]
push esi
push eax
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov eax, dword [ebp + 0x72eb8]
mov ecx, dword [ebp + 0x72eb4]
add eax, ecx
lea ecx, [eax + eax*4]
push ecx
mov ecx, ebp
call fcn.00447010
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x4c2df0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402880
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0xf0]
lea edx, [eax + 0xf]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
push eax
lea eax, [esp + 0x30]
push eax
call edi
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov edx, dword [ebp + 0x72ee8]
push edx
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add eax, 0x101
lea ecx, [eax + 0xf]
push ecx
lea ecx, [edx + 0xfa]
push ecx
push eax
lea eax, [edx + 0xb4]
lea edx, [esp + 0x2c]
push eax
push edx
call edi
push 0x19192d
lea eax, [esp + 0x24]
push esi
push eax
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov ecx, dword [ebp + 0x72eb8]
push ecx
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0x52]
add eax, 0x30
mov dword [esp + 0x30], eax
lea eax, [edx + 0x11d]
lea edx, [eax + 0xf]
push edx
push ecx
push eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x2c]
push eax
push ecx
call edi
push 0x19192d
push esi
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov eax, dword [ebp + 0x72ec0]
push eax
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0xfb]
add eax, 0xda
mov dword [esp + 0x30], eax
lea eax, [edx + 0x11d]
lea edx, [eax + 0xf]
push edx
push ecx
push eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x2c]
push eax
push ecx
call edi
push 0x19192d
lea edx, [esp + 0x24]
push esi
push edx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov eax, dword [ebp + 0x72ec4]
push eax
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x12e]
lea edx, [eax + 0xf]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 0x52]
push ecx
push eax
lea eax, [edx + 0x30]
push eax
lea eax, [esp + 0x30]
push eax
call edi
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov edx, dword [ebp + 0x72ebc]
push edx
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0xa7]
add eax, 0x87
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
add eax, 0x11d
lea edx, [eax + 0xf]
push edx
push ecx
push eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x2c]
push eax
push ecx
call edi
push 0x19192d
lea edx, [esp + 0x24]
push esi
push edx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov eax, dword [ebp + 0x72ec8]
push eax
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x12e]
lea edx, [eax + 0xf]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 0xa7]
push ecx
push eax
lea eax, [edx + 0x87]
push eax
lea eax, [esp + 0x30]
push eax
call edi
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
mov edx, dword [ebp + 0x72ecc]
push edx
push 0x4bda88
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402880
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add eax, 0x12e
lea ecx, [eax + 0xf]
push ecx
lea ecx, [edx + 0xfb]
push ecx
push eax
lea eax, [edx + 0xda]
lea edx, [esp + 0x2c]
push eax
push edx
call edi
push 0x19192d
lea eax, [esp + 0x24]
push esi
push eax
mov ecx, ebx
call fcn.004028e0
mov ecx, ebx
call fcn.004028c0
or ecx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x20], ecx
lea esi, [ebp + 0x6f87c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], cl
lea edi, [ebp + 0x72600]
cmp dword [esi], 0
je 0x4696be
mov ecx, edi
call fcn.004a6fd0
cmp eax, 1
jne 0x4696be
mov edx, dword [esi]
movsx eax, byte [edx + 0x1a]
mov byte [esp + eax + 0x20], bl
inc ebx
add edi, 0xc
add esi, 4
cmp ebx, 0x32
jl 0x4696a3
mov ax, word [ebp + 0x72fdc]
cmp ax, 1
jl 0x46affe
cmp ax, 3
jg 0x46affe
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [ebp + 0x72588]
push 0
movsx eax, ax
push 0
dec eax
lea ebx, [edi + 0x122]
push edx
lea ecx, [esi + 0xab]
push eax
push ebx
push ecx
mov ecx, dword [ebp + 0x3844c]
mov byte [esp + 0x37], 0xff
call fcn.0049e020
cmp byte [esp + 0x21], 0xff
jne 0x46977c
lea ecx, [esp + 0x44]
lea edx, [esp + 0x38]
push ecx
mov cl, byte [ebp + 0x72fde]
sar ecx, 4
lea eax, [esp + 0x40]
push edx
and ecx, 0xf
push eax
push ecx
mov ecx, ebp
call fcn.004103f0
mov edx, dword [ebp + 0x72588]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x40]
push eax
mov ax, word [ebp + 0x72fde]
push ecx
mov ecx, dword [ebp + 0x38494]
push edx
sar eax, 8
and eax, 0xf
push eax
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.004a1f40
mov dl, byte [ebp + 0x72fde]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
and edx, 0xf
push ecx
mov ecx, dword [ebp + 0x38498]
push edx
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.0049e020
mov al, byte [esp + 0x2c]
cmp al, 0xff
je 0x469997
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x4698ae
test al, al
jne 0x46982f
movsx edx, word [esp + 0x10]
push 0
push 0
lea edx, [ebp + edx*4 + 0x3844c]
lea eax, [edi + 0x89]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x72588]
push edx
lea ecx, [esi + 0x29]
movsx edx, word [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax]
call fcn.0049e020
jmp 0x469961
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
lea eax, [edi + 0x89]
push edx
mov edx, dword [esp + 0x20]
push ecx
push eax
mov ecx, dword [edx]
lea eax, [esi + 0x29]
push eax
call fcn.004a1f40
jmp 0x469961
test al, al
jne 0x4698e7
movsx edx, word [esp + 0x10]
lea eax, [edi + 0x89]
lea ecx, [esi + 0x29]
lea edx, [ebp + edx*4 + 0x3844c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x72588]
push edx
movsx edx, word [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
call fcn.004a13b0
jmp 0x469961
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
lea eax, [edi + 0x89]
push edx
mov edx, dword [esp + 0x20]
push ecx
push eax
mov ecx, dword [edx]
lea eax, [esi + 0x29]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
lea eax, [edi + 0x89]
push edx
push eax
lea eax, [esi + 0x29]
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x469997
mov byte [esp + 0x1f], 0xc
mov al, byte [esp + 0x24]
cmp al, 0xff
je 0x469b73
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x469a97
test al, al
jne 0x469a1b
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x3844c]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x469b40
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x469b40
test al, al
jne 0x469ac9
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x3844c]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x469b40
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x469b73
mov byte [esp + 0x1f], 4
mov al, byte [esp + 0x23]
cmp al, 0xff
je 0x469d4f
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x469c73
test al, al
jne 0x469bf7
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x3844c]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x469d1c
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x469d1c
test al, al
jne 0x469ca5
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x3844c]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x469d1c
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x469d4f
mov byte [esp + 0x1f], 3
mov al, byte [esp + 0x25]
cmp al, 0xff
je 0x469f2b
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x469e4f
test al, al
jne 0x469dd3
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x3844c]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x469ef8
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x469ef8
test al, al
jne 0x469e81
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x3844c]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x469ef8
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x469f2b
mov byte [esp + 0x1f], 5
mov al, byte [esp + 0x22]
cmp al, 0xff
je 0x46a107
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46a02b
test al, al
jne 0x469faf
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x3844c]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46a0d4
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46a0d4
test al, al
jne 0x46a05d
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x3844c]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46a0d4
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46a107
mov byte [esp + 0x1f], 2
mov al, byte [esp + 0x2d]
cmp al, 0xff
je 0x46a2e3
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46a207
test al, al
jne 0x46a18b
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x3844c]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46a2b0
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46a2b0
test al, al
jne 0x46a239
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x3844c]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46a2b0
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46a2e3
mov byte [esp + 0x1f], 0xd
mov al, byte [esp + 0x27]
cmp al, 0xff
je 0x46a4bc
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46a3df
test bl, bl
jne 0x46a362
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0xaa]
lea ecx, [ebp + ecx*4 + 0x3844c]
lea eax, [esi + 0x5a]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46a48c
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xaa]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x5a]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46a48c
test bl, bl
jne 0x46a414
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0xaa]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x5a]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x3844c]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46a48c
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xaa]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x5a]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x5a]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46a4bc
mov byte [esp + 0x1f], 7
mov al, byte [esp + 0x28]
cmp al, 0xff
je 0x46a695
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46a5b8
test bl, bl
jne 0x46a53b
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0xba]
lea ecx, [ebp + ecx*4 + 0x3844c]
lea eax, [esi + 0x39]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46a665
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x39]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46a665
test bl, bl
jne 0x46a5ed
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0xba]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x39]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x3844c]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46a665
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x39]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x39]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46a695
mov byte [esp + 0x1f], 8
mov al, byte [esp + 0x29]
cmp al, 0xff
je 0x46a86e
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46a791
test bl, bl
jne 0x46a714
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0xba]
lea ecx, [ebp + ecx*4 + 0x3844c]
lea eax, [esi + 0x39]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46a83e
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x39]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46a83e
test bl, bl
jne 0x46a7c6
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0xba]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x39]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x3844c]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46a83e
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x39]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x39]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46a86e
mov byte [esp + 0x1f], 9
mov al, byte [esp + 0x26]
cmp al, 0xff
je 0x46aa3b
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46a964
test bl, bl
jne 0x46a8ea
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0x78]
lea ecx, [ebp + ecx*4 + 0x3844c]
lea eax, [esi + 0x23]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46aa0b
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x23]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46aa0b
test bl, bl
jne 0x46a996
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0x78]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x23]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x3844c]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46aa0b
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x23]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x23]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46aa3b
mov byte [esp + 0x1f], 6
mov al, byte [esp + 0x2a]
cmp al, 0xff
je 0x46ac14
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46ab37
test bl, bl
jne 0x46aaba
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0xc1]
lea ecx, [ebp + ecx*4 + 0x3844c]
lea eax, [esi + 0x20]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46abe4
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x20]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46abe4
test bl, bl
jne 0x46ab6c
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0xc1]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x20]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x3844c]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46abe4
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x20]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x20]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46ac14
mov byte [esp + 0x1f], 0xa
mov al, byte [esp + 0x21]
cmp al, 0xff
je 0x46adef
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46ad10
test bl, bl
jne 0x46ac93
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0x87]
lea ecx, [ebp + ecx*4 + 0x3844c]
lea eax, [esi + 0x48]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46adbd
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x87]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x48]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46adbd
test bl, bl
jne 0x46ad45
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0x87]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x48]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x3844c]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46adbd
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x3844c]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x87]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x48]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x48]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46adef
mov byte [esp + 0x1f], 1
jmp 0x46adfa
cmp byte [esp + 0x1f], 0xff
je 0x46cb18
mov dl, byte [esp + 0x1f]
movsx ecx, dl
cmp dl, 1
movsx eax, byte [esp + ecx + 0x20]
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov ax, word [ecx + 0x20]
mov cx, word [ecx + 0x22]
jne 0x46ae36
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x87]
push ecx
push edx
lea ecx, [esi + 0x48]
jmp 0x46afc7
cmp dl, 0xa
jne 0x46ae57
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xc1]
push ecx
push edx
lea ecx, [esi + 0x20]
jmp 0x46afc7
cmp dl, 6
jne 0x46ae75
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x78]
push ecx
push edx
lea ecx, [esi + 0x23]
jmp 0x46afc7
cmp dl, 9
jne 0x46ae96
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xba]
push ecx
push edx
lea ecx, [esi + 0x39]
jmp 0x46afc7
cmp dl, 8
jne 0x46aeb7
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xba]
push ecx
push edx
lea ecx, [esi + 0x39]
jmp 0x46afc7
cmp dl, 7
jne 0x46aed8
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xaa]
push ecx
push edx
lea ecx, [esi + 0x5a]
jmp 0x46afc7
cmp dl, 2
jne 0x46af0c
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
movsx edx, ax
push ecx
lea ecx, [esi + 0xab]
push ecx
mov ecx, dword [ebp + edx*4 + 0x3844c]
call fcn.0049f230
jmp 0x46cb18
cmp dl, 0xd
jne 0x46af40
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
movsx edx, ax
push ecx
lea ecx, [esi + 0xab]
push ecx
mov ecx, dword [ebp + edx*4 + 0x3844c]
call fcn.0049f230
jmp 0x46cb18
cmp dl, 5
jne 0x46af74
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
movsx edx, ax
push ecx
lea ecx, [esi + 0xab]
push ecx
mov ecx, dword [ebp + edx*4 + 0x3844c]
call fcn.0049f230
jmp 0x46cb18
cmp dl, 3
jne 0x46afa8
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
movsx edx, ax
push ecx
lea ecx, [esi + 0xab]
push ecx
mov ecx, dword [ebp + edx*4 + 0x3844c]
call fcn.0049f230
jmp 0x46cb18
cmp dl, 4
jne 0x46afdc
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
movsx edx, ax
push ecx
mov ecx, dword [ebp + edx*4 + 0x3844c]
call fcn.0049f230
jmp 0x46cb18
cmp dl, 0xc
jne 0x46cb18
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x89]
push ecx
push edx
lea ecx, [esi + 0x29]
jmp 0x46afc7
cmp ax, 4
jl 0x46cb10
cmp ax, 6
jg 0x46cb10
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [ebp + 0x72588]
push 0
movsx eax, ax
push 0
sub eax, 4
lea ebx, [edi + 0x122]
push edx
lea ecx, [esi + 0xab]
push eax
push ebx
push ecx
mov ecx, dword [ebp + 0x384ec]
mov byte [esp + 0x37], 0xff
call fcn.0049e020
cmp byte [esp + 0x21], 0xff
jne 0x46b0ab
lea ecx, [esp + 0x44]
lea edx, [esp + 0x38]
push ecx
mov cl, byte [ebp + 0x72fde]
sar ecx, 4
lea eax, [esp + 0x40]
push edx
and ecx, 0xf
push eax
push ecx
mov ecx, ebp
call fcn.004103f0
mov edx, dword [ebp + 0x72588]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x40]
push eax
mov ax, word [ebp + 0x72fde]
push ecx
mov ecx, dword [ebp + 0x38534]
push edx
sar eax, 8
and eax, 0xf
push eax
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.004a1f40
mov dl, byte [ebp + 0x72fde]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
and edx, 0xf
push ecx
mov ecx, dword [ebp + 0x38538]
push edx
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.0049e020
mov al, byte [esp + 0x24]
cmp al, 0xff
je 0x46b0fb
movsx eax, al
mov eax, dword [ebp + eax*4 + 0x6f87c]
cmp word [eax + 0x20], 0xc
jne 0x46b0fb
cmp word [eax + 0x22], 0
jne 0x46b0fb
mov dword [esp + 0x40], 1
mov al, byte [esp + 0x2c]
cmp al, 0xff
je 0x46b2ee
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46b205
test al, al
jne 0x46b186
movsx edx, word [esp + 0x10]
push 0
push 0
lea edx, [ebp + edx*4 + 0x384ec]
lea eax, [edi + 0x8f]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x72588]
push edx
lea ecx, [esi + 0x2d]
movsx edx, word [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [eax]
call fcn.0049e020
jmp 0x46b2b8
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
lea eax, [edi + 0x8f]
push edx
mov edx, dword [esp + 0x20]
push ecx
push eax
mov ecx, dword [edx]
lea eax, [esi + 0x2d]
push eax
call fcn.004a1f40
jmp 0x46b2b8
test al, al
jne 0x46b23e
movsx edx, word [esp + 0x10]
lea eax, [edi + 0x8f]
lea ecx, [esi + 0x2d]
lea edx, [ebp + edx*4 + 0x384ec]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x72588]
push edx
movsx edx, word [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
call fcn.004a13b0
jmp 0x46b2b8
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
lea eax, [edi + 0x8f]
push edx
mov edx, dword [esp + 0x20]
push ecx
push eax
mov ecx, dword [edx]
lea eax, [esi + 0x2d]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
lea eax, [edi + 0x8f]
push edx
push eax
lea eax, [esi + 0x2d]
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46b2ee
mov byte [esp + 0x1f], 0xc
cmp byte [esp + 0x25], 0xff
je 0x46b4d6
cmp dword [esp + 0x40], 1
jne 0x46b4d6
movsx eax, byte [esp + 0x25]
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46b3fa
test al, al
jne 0x46b37e
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x384ec]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46b4a3
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46b4a3
test al, al
jne 0x46b42c
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x384ec]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46b4a3
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46b4d6
mov byte [esp + 0x1f], 5
mov al, byte [esp + 0x24]
cmp al, 0xff
je 0x46b6b2
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46b5d6
test al, al
jne 0x46b55a
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x384ec]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46b67f
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46b67f
test al, al
jne 0x46b608
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x384ec]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46b67f
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46b6b2
mov byte [esp + 0x1f], 4
mov al, byte [esp + 0x23]
cmp al, 0xff
je 0x46b88e
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46b7b2
test al, al
jne 0x46b736
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x384ec]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46b85b
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46b85b
test al, al
jne 0x46b7e4
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x384ec]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46b85b
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46b88e
mov byte [esp + 0x1f], 3
cmp byte [esp + 0x25], 0xff
je 0x46ba77
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x46ba77
movsx eax, byte [esp + 0x25]
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46b99b
test al, al
jne 0x46b91f
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x384ec]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46ba44
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46ba44
test al, al
jne 0x46b9cd
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x384ec]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46ba44
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46ba77
mov byte [esp + 0x1f], 5
mov al, byte [esp + 0x22]
cmp al, 0xff
je 0x46bc53
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46bb77
test al, al
jne 0x46bafb
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x384ec]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46bc20
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46bc20
test al, al
jne 0x46bba9
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x384ec]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46bc20
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46bc53
mov byte [esp + 0x1f], 2
mov al, byte [esp + 0x2d]
cmp al, 0xff
je 0x46be2f
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x20]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46bd53
test al, al
jne 0x46bcd7
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
push 0
push 0
push ecx
lea eax, [ebp + eax*4 + 0x384ec]
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
call fcn.0049e020
jmp 0x46bdfc
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46bdfc
test al, al
jne 0x46bd85
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x72588]
lea eax, [ebp + eax*4 + 0x384ec]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.004a13b0
jmp 0x46bdfc
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0xab]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0xab]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46be2f
mov byte [esp + 0x1f], 0xd
mov al, byte [esp + 0x27]
cmp al, 0xff
je 0x46c008
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46bf2b
test bl, bl
jne 0x46beae
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0xaf]
lea ecx, [ebp + ecx*4 + 0x384ec]
lea eax, [esi + 0x54]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46bfd8
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xaf]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x54]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46bfd8
test bl, bl
jne 0x46bf60
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0xaf]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x54]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x384ec]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46bfd8
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x730bc]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xaf]
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x54]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x54]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46c008
mov byte [esp + 0x1f], 7
mov al, byte [esp + 0x28]
cmp al, 0xff
je 0x46c1dc
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x22]
mov bx, word [ecx + 0x20]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46c103
test al, al
jne 0x46c088
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, bx
push 0
push edx
movsx edx, word [esp + 0x24]
lea ecx, [ebp + ecx*4 + 0x384ec]
lea ebx, [edi + 0xbf]
lea eax, [esi + 0x3c]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46c1ac
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x384ec]
xor ebx, ebx
mov bx, word [ebp + 0x7305c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x72588]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x730bc]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
mov eax, dword [esp + 0x1c]
push edx
movsx edx, word [esp + 0x28]
push edx
push ebx
push ecx
mov ecx, dword [eax]
call fcn.004a1f40
jmp 0x46c1ac
test al, al
jne 0x46c136
mov edx, dword [ebp + 0x72588]
lea eax, [esi + 0x3c]
movsx ecx, bx
push edx
lea ebx, [edi + 0xbf]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x384ec]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46c1ac
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x384ec]
xor ebx, ebx
mov bx, word [ebp + 0x7305c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x72588]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x730bc]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
mov eax, dword [esp + 0x1c]
push edx
movsx edx, word [esp + 0x28]
push edx
push ebx
push ecx
mov ecx, dword [eax]
call fcn.004a2380
movsx ecx, word [esp + 0xc8]
movsx edx, word [esp + 0xc4]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
lea eax, [esi + 0x3c]
mov ecx, dword [ecx]
push ebx
push eax
call fcn.004a2c20
test eax, eax
je 0x46c1dc
mov byte [esp + 0x1f], 8
mov al, byte [esp + 0x29]
cmp al, 0xff
je 0x46c3b0
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov dx, word [ecx + 0x22]
mov bx, word [ecx + 0x20]
mov cl, byte [ecx + 0x1b]
mov word [esp + 0x18], dx
lea edx, [eax + eax*2 + 0x1ca16]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4]
call fcn.004a6fd0
test eax, eax
mov al, byte [esp + 0x17]
jne 0x46c2d7
test al, al
jne 0x46c25c
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, bx
push 0
push edx
movsx edx, word [esp + 0x24]
lea ecx, [ebp + ecx*4 + 0x384ec]
lea ebx, [edi + 0xbf]
lea eax, [esi + 0x3c]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46c380
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x384ec]
xor ebx, ebx
mov bx, word [ebp + 0x7305c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x72588]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x730bc]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
mov eax, dword [esp + 0x1c]
push edx
movsx edx, word [esp + 0x28]
push edx
push ebx
push ecx
mov ecx, dword [eax]
call fcn.004a1f40
jmp 0x46c380
test al, al
jne 0x46c30a
mov edx, dword [ebp + 0x72588]
lea eax, [esi + 0x3c]
movsx ecx, bx
push edx
lea ebx, [edi + 0xbf]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x384ec]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46c380
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x384ec]
xor ebx, ebx
mov bx, word [ebp + 0x7305c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x72588]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x730bc]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x7303c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7309c]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7307c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
sub edx, eax
mov eax, dword [esp + 0x1c]
push edx
movsx edx, word [esp + 0x28]
push edx
push ebx
push ecx
mov ecx, dword [eax]
call fcn.004a2380
movsx ecx, word [esp + 0xc8]
movsx edx, word [esp + 0xc4]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
lea eax, [esi + 0x3c]
mov ecx, dword [ecx]
push ebx
push eax
call fcn.004a2c20
test eax, eax
je 0x46c3b0
mov byte [esp + 0x1f], 9
mov al, byte [esp + 0x26]
cmp al, 0xff
je 0x46c57d
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46c4a6
test bl, bl
jne 0x46c42c
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0x78]
lea ecx, [ebp + ecx*4 + 0x384ec]
lea eax, [esi + 0x23]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46c54d
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x23]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46c54d
test bl, bl
jne 0x46c4d8
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0x78]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x23]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x384ec]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46c54d
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x23]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x23]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46c57d
mov byte [esp + 0x1f], 6
mov al, byte [esp + 0x2a]
cmp al, 0xff
je 0x46c756
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46c679
test bl, bl
jne 0x46c5fc
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0xc1]
lea ecx, [ebp + ecx*4 + 0x384ec]
lea eax, [esi + 0x20]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46c726
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x20]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46c726
test bl, bl
jne 0x46c6ae
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0xc1]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x20]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x384ec]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46c726
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x20]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x20]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46c756
mov byte [esp + 0x1f], 0xa
mov al, byte [esp + 0x21]
cmp al, 0xff
je 0x46c931
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x6f87c]
lea eax, [eax + eax*2 + 0x1ca16]
mov dx, word [ecx + 0x20]
mov bl, byte [ecx + 0x1b]
mov word [esp + 0x10], dx
mov dx, word [ecx + 0x22]
lea ecx, [ebp + eax*4]
mov word [esp + 0x18], dx
call fcn.004a6fd0
test eax, eax
jne 0x46c852
test bl, bl
jne 0x46c7d5
mov edx, dword [ebp + 0x72588]
push 0
movsx ecx, word [esp + 0x14]
push 0
push edx
movsx edx, word [esp + 0x24]
lea ebx, [edi + 0x8b]
lea ecx, [ebp + ecx*4 + 0x384ec]
lea eax, [esi + 0x48]
push edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx]
push ebx
push eax
call fcn.0049e020
jmp 0x46c8ff
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x8b]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x48]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a1f40
jmp 0x46c8ff
test bl, bl
jne 0x46c887
mov edx, dword [ebp + 0x72588]
lea ebx, [edi + 0x8b]
movsx ecx, word [esp + 0x10]
push edx
lea eax, [esi + 0x48]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x384ec]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.004a13b0
jmp 0x46c8ff
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x384ec]
mov ecx, dword [ebp + 0x72588]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x7305c]
mov cx, word [ebp + 0x7305c]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x7303c]
push edx
xor edx, edx
lea ebx, [edi + 0x8b]
mov dx, word [ebp + eax*2 + 0x7303c]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x7301c]
xor eax, eax
mov ax, word [ebp + 0x7301c]
movsx ecx, word [esp + 0x24]
sub edx, eax
lea eax, [esi + 0x48]
push edx
mov edx, dword [esp + 0x20]
push ecx
push ebx
mov ecx, dword [edx]
push eax
call fcn.004a2380
movsx eax, word [esp + 0xc8]
movsx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
lea eax, [esi + 0x48]
push ebx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.004a2c20
test eax, eax
je 0x46c931
mov byte [esp + 0x1f], 1
jmp 0x46c93c
cmp byte [esp + 0x1f], 0xff
je 0x46cb18
mov dl, byte [esp + 0x1f]
movsx ecx, dl
cmp dl, 1
movsx eax, byte [esp + ecx + 0x20]
mov ecx, dword [ebp + eax*4 + 0x6f87c]
mov ax, word [ecx + 0x20]
mov cx, word [ecx + 0x22]
jne 0x46c978
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x8b]
push ecx
push edx
lea ecx, [esi + 0x48]
jmp 0x46cafe
cmp dl, 0xa
jne 0x46c999
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xc1]
push ecx
push edx
lea ecx, [esi + 0x20]
jmp 0x46cafe
cmp dl, 6
jne 0x46c9b7
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x78]
push ecx
push edx
lea ecx, [esi + 0x23]
jmp 0x46cafe
cmp dl, 9
jne 0x46c9e8
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
movsx eax, ax
lea ecx, [edi + 0xbf]
lea edx, [esi + 0x3c]
push ecx
mov ecx, dword [ebp + eax*4 + 0x384ec]
push edx
call fcn.0049f230
jmp 0x46cb18
cmp dl, 8
jne 0x46ca19
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
movsx eax, ax
lea ecx, [edi + 0xbf]
lea edx, [esi + 0x3c]
push ecx
mov ecx, dword [ebp + eax*4 + 0x384ec]
push edx
call fcn.0049f230
jmp 0x46cb18
cmp dl, 7
jne 0x46ca3a
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xaf]
push ecx
push edx
lea ecx, [esi + 0x54]
jmp 0x46cafe
cmp dl, 2
jne 0x46ca5e
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x46cafe
cmp dl, 0xd
jne 0x46ca7f
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x46cafe
cmp dl, 5
jne 0x46caa0
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x46cafe
cmp dl, 3
jne 0x46cac1
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x46cafe
cmp dl, 4
jne 0x46cae2
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x46cafe
cmp dl, 0xc
jne 0x46cb18
mov edx, dword [ebp + 0x72588]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x8f]
push ecx
push edx
lea ecx, [esi + 0x2d]
movsx edx, ax
push ecx
mov ecx, dword [ebp + edx*4 + 0x384ec]
call fcn.0049f230
jmp 0x46cb18
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
movsx ecx, word [esp + 0xc4]
lea eax, [esi + 0xf]
cmp ecx, eax
jl 0x46cb78
lea edx, [esi + 0x59]
cmp ecx, edx
jg 0x46cb78
movsx ecx, word [esp + 0xc8]
lea ebx, [edi + 0x154]
cmp ecx, ebx
jl 0x46cb78
lea edx, [edi + 0x168]
cmp ecx, edx
jg 0x46cb78
mov ecx, dword [ebp + 0x38248]
mov edx, dword [ebp + 0x72578]
test ecx, ecx
je 0x46cbb1
cmp dword [ebp + 0x72db4], 1
jne 0x46cb6f
push edx
push 5
push ebx
push eax
call fcn.004a13b0
jmp 0x46cbb1
push 0
push 0
push edx
push 5
jmp 0x46cbaa
mov ecx, dword [ebp + 0x38248]
mov edx, dword [ebp + 0x72578]
test ecx, ecx
lea ebx, [edi + 0x154]
je 0x46cbb1
cmp dword [ebp + 0x72db4], 1
jne 0x46cba3
push edx
push 4
push ebx
push eax
call fcn.004a13b0
jmp 0x46cbb1
push 0
push 0
push edx
push 4
push ebx
push eax
call fcn.0049e020
movsx ecx, word [esp + 0xc4]
lea eax, [esi + 0x62]
cmp ecx, eax
jl 0x46cc0e
lea edx, [esi + 0xac]
cmp ecx, edx
jg 0x46cc0e
movsx ecx, word [esp + 0xc8]
cmp ecx, ebx
jl 0x46cc0e
lea edx, [edi + 0x168]
cmp ecx, edx
jg 0x46cc0e
mov ecx, dword [ebp + 0x38248]
mov edx, dword [ebp + 0x72578]
test ecx, ecx
je 0x46cc41
cmp dword [ebp + 0x72db4], 1
jne 0x46cc05
push edx
push 0x2d
push ebx
push eax
call fcn.004a13b0
jmp 0x46cc41
push 0
push 0
push edx
push 0x2d
jmp 0x46cc3a
mov ecx, dword [ebp + 0x38248]
mov edx, dword [ebp + 0x72578]
test ecx, ecx
je 0x46cc41
cmp dword [ebp + 0x72db4], 1
jne 0x46cc33
push edx
push 0x2c
push ebx
push eax
call fcn.004a13b0
jmp 0x46cc41
push 0
push 0
push edx
push 0x2c
push ebx
push eax
call fcn.0049e020
movsx ecx, word [esp + 0xc4]
lea eax, [esi + 0xb4]
cmp ecx, eax
jl 0x46ccbe
add esi, 0xfe
cmp ecx, esi
jg 0x46ccbe
movsx ecx, word [esp + 0xc8]
cmp ecx, ebx
jl 0x46ccbe
add edi, 0x168
cmp ecx, edi
jg 0x46ccbe
mov ecx, dword [ebp + 0x38248]
mov edx, dword [ebp + 0x72578]
test ecx, ecx
je 0x46ccfc
cmp dword [ebp + 0x72db4], 1
jne 0x46cca3
push edx
push 0xb
push ebx
push eax
call fcn.004a13b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8
push 0
push 0
push edx
push 0xb
push ebx
push eax
call fcn.0049e020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8
mov ecx, dword [ebp + 0x38248]
mov edx, dword [ebp + 0x72578]
test ecx, ecx
je 0x46ccfc
cmp dword [ebp + 0x72db4], 1
jne 0x46ccee
push edx
push 0xa
push ebx
push eax
call fcn.004a13b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8
push 0
push 0
push edx
push 0xa
push ebx
push eax
call fcn.0049e020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8