Function at 0x45a310
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 + 0x44], 0
mov ax, word [ebp + 0x144]
mov ecx, dword [ebp + 0x36190]
movsx edx, word [ebp + 0x146]
movsx esi, ax
mov eax, dword [ebp + 0x4dd34]
mov dword [esp + 0x10], edx
test ecx, ecx
mov dword [esp + 0x18], esi
je 0x45a369
mov edi, dword [ebp + 0x4e478]
push eax
push 0
cmp edi, 1
push edx
push esi
jne 0x45a364
call fcn.0048c140
jmp 0x45a369
call fcn.00488ff0
lea ebx, [ebp + 0x4e763]
mov ecx, 0x20
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
lea edi, [ebp + 0x4e918]
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, 0x4abafc
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 + 0x4e580]
test edx, edx
jle 0x45a417
mov ecx, 0x1e
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x4c]
push 0x4abaec
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 + 0x4e578]
lea ecx, [esp + 0x48]
push eax
push 0x4abad8
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 + 0x6004]
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x4e763]
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.00402250
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 + 0x4e763]
push 0x14142d
lea ecx, [esp + 0x24]
push edi
push ecx
mov ecx, ebx
call fcn.004022b0
mov ecx, ebx
call fcn.00402290
mov ecx, 0x20
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x4dd98]
test eax, eax
jne 0x45a4ef
mov edi, 0x4aa794
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 + 0x4e763]
jmp 0x45a5e2
mov eax, dword [ebp + 0x4dd90]
test eax, eax
mov eax, dword [ebp + 0x4dd94]
je 0x45a511
test eax, eax
je 0x45a50a
mov edi, 0x4aa780
jmp 0x45a51f
mov edi, 0x4aa75c
jmp 0x45a51f
test eax, eax
mov edi, 0x4aa76c
jne 0x45a51f
mov edi, 0x4aa748
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 + 0x4e763]
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 + 0x4e588]
test eax, eax
jl 0x45a5ee
mov edi, 0x4abad4
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 + 0x4e763]
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 + 0x4ea05]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
lea edi, [ebp + 0x4e763]
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 + 0x4e588]
mov edi, 0x4abac4
test eax, eax
je 0x45a5c5
mov edi, 0x4abab8
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 + 0x4e763]
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.00402250
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 + 0x4e763]
push 0x19192d
lea ecx, [esp + 0x24]
push esi
push ecx
mov ecx, ebx
call fcn.004022b0
mov ecx, ebx
call fcn.00402290
mov edx, dword [ebp + 0x4e558]
push edx
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0xfa]
add eax, 0xb4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
add eax, 0x6a
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.004022b0
mov ecx, ebx
call fcn.00402290
mov eax, dword [ebp + 0x4e574]
push eax
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
mov eax, dword [ebp + 0x4e558]
inc eax
mov dword [esp + 0x30], eax
jne 0x45a707
xor eax, eax
jmp 0x45a741
mov ecx, dword [esp + 0x30]
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 + 0x38], edx
call fcn.0043d130
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
imul edx, ecx
imul edx, ecx
add edx, 0x32
imul edx, dword [esp + 0x30]
add eax, edx
push eax
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
lea ecx, [ebp + 0x4e52c]
call fcn.00491a60
mov edx, dword [ebp + 0x4e558]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x4e564]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x4e55c]
lea ecx, [ecx + edx*2]
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
sar eax, 1
add ecx, eax
push ecx
push edx
push 0x4abab0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
lea ecx, [ebp + 0x4e538]
call fcn.00491a60
mov ecx, dword [ebp + 0x4e558]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x4e56c]
add ecx, eax
mov eax, dword [ebp + 0x4e560]
cdq
sub eax, edx
sar eax, 1
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
push edx
push eax
push 0x4abab0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
lea ecx, [ebp + 0x4e544]
call fcn.00491a60
mov edx, dword [ebp + 0x4e558]
mov ecx, dword [ebp + 0x4e55c]
add edx, ecx
shl edx, 1
push edx
push eax
push 0x4abab0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
mov eax, dword [ebp + 0x4e558]
mov ecx, dword [ebp + 0x4e55c]
add eax, ecx
lea ecx, [eax + eax*4]
push ecx
mov ecx, ebp
call fcn.0043cdb0
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x4abab0
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
mov edx, dword [ebp + 0x4e57c]
push edx
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
mov ecx, dword [ebp + 0x4e55c]
push ecx
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0x52]
add eax, 0x30
mov dword [esp + 0x34], eax
lea eax, [edx + 0x11d]
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
push esi
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
call fcn.004022b0
mov ecx, ebx
call fcn.00402290
mov eax, dword [ebp + 0x4e564]
push eax
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0xfb]
add eax, 0xda
mov dword [esp + 0x34], eax
lea eax, [edx + 0x11d]
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.004022b0
mov ecx, ebx
call fcn.00402290
mov eax, dword [ebp + 0x4e568]
push eax
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
mov edx, dword [ebp + 0x4e560]
push edx
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
mov eax, dword [esp + 0x18]
lea ecx, [eax + 0xa7]
add eax, 0x87
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
add eax, 0x11d
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.004022b0
mov ecx, ebx
call fcn.00402290
mov eax, dword [ebp + 0x4e56c]
push eax
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
mov edx, dword [ebp + 0x4e570]
push edx
push 0x4a71a8
push esi
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0xc
mov ecx, ebx
call fcn.00402250
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.004022b0
mov ecx, ebx
call fcn.00402290
or ecx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x20], ecx
lea esi, [ebp + 0x4b038]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], cl
lea edi, [ebp + 0x4ddbc]
cmp dword [esi], 0
je 0x45ac7b
mov ecx, edi
call fcn.00491a60
cmp eax, 1
jne 0x45ac7b
mov edx, dword [esi]
movsx eax, byte [edx + 0x1a]
mov byte [esp + eax + 0x20], bl
inc ebx
add esi, 4
add edi, 0xc
cmp ebx, 0x32
jl 0x45ac60
mov ax, word [ebp + 0x4e668]
cmp ax, 1
jl 0x45c577
cmp ax, 3
jg 0x45c577
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [ebp + 0x4dd44]
mov byte [esp + 0x1f], 0xff
movsx eax, ax
dec eax
lea ebx, [edi + 0x122]
push edx
lea ecx, [esi + 0xab]
push eax
push ebx
push ecx
mov ecx, dword [ebp + 0x36398]
call fcn.00488ff0
cmp byte [esp + 0x21], 0xff
jne 0x45ad35
lea ecx, [esp + 0x38]
lea edx, [esp + 0x3c]
push ecx
mov cl, byte [ebp + 0x4e66a]
sar ecx, 4
lea eax, [esp + 0x44]
push edx
and ecx, 0xf
push eax
push ecx
mov ecx, ebp
call fcn.0040e7c0
mov edx, dword [ebp + 0x4dd44]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x44]
push eax
mov ax, word [ebp + 0x4e66a]
push ecx
mov ecx, dword [ebp + 0x363e0]
push edx
sar eax, 8
and eax, 0xf
push eax
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.0048ccd0
mov dl, byte [ebp + 0x4e66a]
mov ecx, dword [ebp + 0x4dd44]
and edx, 0xf
push ecx
mov ecx, dword [ebp + 0x363e4]
push edx
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.00488ff0
mov al, byte [esp + 0x2c]
cmp al, 0xff
je 0x45af47
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45ae5e
test al, al
jne 0x45addf
movsx edx, word [esp + 0x10]
lea eax, [edi + 0x89]
lea ecx, [esi + 0x29]
lea edx, [ebp + edx*4 + 0x36398]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
push edx
movsx edx, word [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
call fcn.00488ff0
jmp 0x45af11
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45af11
test al, al
jne 0x45ae97
movsx edx, word [esp + 0x10]
lea eax, [edi + 0x89]
lea ecx, [esi + 0x29]
lea edx, [ebp + edx*4 + 0x36398]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
push edx
movsx edx, word [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
call fcn.0048c140
jmp 0x45af11
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45af47
mov byte [esp + 0x1f], 0xc
mov al, byte [esp + 0x24]
cmp al, 0xff
je 0x45b11e
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45b042
test al, al
jne 0x45afc6
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45b0eb
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45b0eb
test al, al
jne 0x45b074
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45b0eb
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45b11e
mov byte [esp + 0x1f], 4
mov al, byte [esp + 0x23]
cmp al, 0xff
je 0x45b2f5
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45b219
test al, al
jne 0x45b19d
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45b2c2
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45b2c2
test al, al
jne 0x45b24b
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45b2c2
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45b2f5
mov byte [esp + 0x1f], 3
mov al, byte [esp + 0x25]
cmp al, 0xff
je 0x45b4cc
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45b3f0
test al, al
jne 0x45b374
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45b499
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45b499
test al, al
jne 0x45b422
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45b499
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45b4cc
mov byte [esp + 0x1f], 5
mov al, byte [esp + 0x22]
cmp al, 0xff
je 0x45b6a3
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45b5c7
test al, al
jne 0x45b54b
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45b670
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45b670
test al, al
jne 0x45b5f9
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45b670
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45b6a3
mov byte [esp + 0x1f], 2
mov al, byte [esp + 0x2d]
cmp al, 0xff
je 0x45b87a
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45b79e
test al, al
jne 0x45b722
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45b847
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45b847
test al, al
jne 0x45b7d0
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36398]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45b847
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45b87a
mov byte [esp + 0x1f], 0xd
mov al, byte [esp + 0x27]
cmp al, 0xff
je 0x45ba4e
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45b971
test bl, bl
jne 0x45b8f4
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45ba1e
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xaa]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45ba1e
test bl, bl
jne 0x45b9a6
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45ba1e
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xaa]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45ba4e
mov byte [esp + 0x1f], 7
mov al, byte [esp + 0x28]
cmp al, 0xff
je 0x45bc22
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45bb45
test bl, bl
jne 0x45bac8
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45bbf2
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45bbf2
test bl, bl
jne 0x45bb7a
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45bbf2
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45bc22
mov byte [esp + 0x1f], 8
mov al, byte [esp + 0x29]
cmp al, 0xff
je 0x45bdf6
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45bd19
test bl, bl
jne 0x45bc9c
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45bdc6
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45bdc6
test bl, bl
jne 0x45bd4e
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45bdc6
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xba]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45bdf6
mov byte [esp + 0x1f], 9
mov al, byte [esp + 0x26]
cmp al, 0xff
je 0x45bfbe
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45bee7
test bl, bl
jne 0x45be6d
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45bf8e
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45bf8e
test bl, bl
jne 0x45bf19
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45bf8e
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45bfbe
mov byte [esp + 0x1f], 6
mov al, byte [esp + 0x2a]
cmp al, 0xff
je 0x45c192
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45c0b5
test bl, bl
jne 0x45c038
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45c162
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45c162
test bl, bl
jne 0x45c0ea
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45c162
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45c192
mov byte [esp + 0x1f], 0xa
mov al, byte [esp + 0x21]
cmp al, 0xff
je 0x45c368
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45c289
test bl, bl
jne 0x45c20c
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45c336
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x87]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45c336
test bl, bl
jne 0x45c2be
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45c336
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36398]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x87]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45c368
mov byte [esp + 0x1f], 1
jmp 0x45c373
cmp byte [esp + 0x1f], 0xff
je 0x45e048
mov dl, byte [esp + 0x1f]
movsx ecx, dl
cmp dl, 1
movsx eax, byte [esp + ecx + 0x20]
mov ecx, dword [ebp + eax*4 + 0x4b038]
mov ax, word [ecx + 0x20]
mov cx, word [ecx + 0x22]
jne 0x45c3af
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x87]
push ecx
push edx
lea ecx, [esi + 0x48]
jmp 0x45c540
cmp dl, 0xa
jne 0x45c3d0
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xc1]
push ecx
push edx
lea ecx, [esi + 0x20]
jmp 0x45c540
cmp dl, 6
jne 0x45c3ee
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x78]
push ecx
push edx
lea ecx, [esi + 0x23]
jmp 0x45c540
cmp dl, 9
jne 0x45c40f
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xba]
push ecx
push edx
lea ecx, [esi + 0x39]
jmp 0x45c540
cmp dl, 8
jne 0x45c430
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xba]
push ecx
push edx
lea ecx, [esi + 0x39]
jmp 0x45c540
cmp dl, 7
jne 0x45c451
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xaa]
push ecx
push edx
lea ecx, [esi + 0x5a]
jmp 0x45c540
cmp dl, 2
jne 0x45c485
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
call fcn.00489fc0
jmp 0x45e048
cmp dl, 0xd
jne 0x45c4b9
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
call fcn.00489fc0
jmp 0x45e048
cmp dl, 5
jne 0x45c4ed
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
call fcn.00489fc0
jmp 0x45e048
cmp dl, 3
jne 0x45c521
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
call fcn.00489fc0
jmp 0x45e048
cmp dl, 4
jne 0x45c555
mov edx, dword [ebp + 0x4dd44]
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 + 0x36398]
call fcn.00489fc0
jmp 0x45e048
cmp dl, 0xc
jne 0x45e048
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x89]
push ecx
push edx
lea ecx, [esi + 0x29]
jmp 0x45c540
cmp ax, 4
jl 0x45e040
cmp ax, 6
jg 0x45e040
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edx, dword [ebp + 0x4dd44]
mov byte [esp + 0x1f], 0xff
movsx eax, ax
sub eax, 4
lea ebx, [edi + 0x122]
push edx
lea ecx, [esi + 0xab]
push eax
push ebx
push ecx
mov ecx, dword [ebp + 0x36438]
call fcn.00488ff0
cmp byte [esp + 0x21], 0xff
jne 0x45c620
lea ecx, [esp + 0x38]
lea edx, [esp + 0x3c]
push ecx
mov cl, byte [ebp + 0x4e66a]
sar ecx, 4
lea eax, [esp + 0x44]
push edx
and ecx, 0xf
push eax
push ecx
mov ecx, ebp
call fcn.0040e7c0
mov edx, dword [ebp + 0x4dd44]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x44]
push eax
mov ax, word [ebp + 0x4e66a]
push ecx
mov ecx, dword [ebp + 0x36480]
push edx
sar eax, 8
and eax, 0xf
push eax
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.0048ccd0
mov dl, byte [ebp + 0x4e66a]
mov ecx, dword [ebp + 0x4dd44]
and edx, 0xf
push ecx
mov ecx, dword [ebp + 0x36484]
push edx
lea eax, [esi + 0xab]
push ebx
push eax
call fcn.00488ff0
mov al, byte [esp + 0x24]
cmp al, 0xff
je 0x45c66c
movsx eax, al
mov eax, dword [ebp + eax*4 + 0x4b038]
cmp word [eax + 0x20], 0xc
jne 0x45c66c
cmp word [eax + 0x22], 0
jne 0x45c66c
mov dword [esp + 0x44], 1
mov al, byte [esp + 0x2c]
cmp al, 0xff
je 0x45c85a
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45c771
test al, al
jne 0x45c6f2
movsx edx, word [esp + 0x10]
lea eax, [edi + 0x8f]
lea ecx, [esi + 0x2d]
lea edx, [ebp + edx*4 + 0x36438]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
push edx
movsx edx, word [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
call fcn.00488ff0
jmp 0x45c824
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45c824
test al, al
jne 0x45c7aa
movsx edx, word [esp + 0x10]
lea eax, [edi + 0x8f]
lea ecx, [esi + 0x2d]
lea edx, [ebp + edx*4 + 0x36438]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
push edx
movsx edx, word [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax]
call fcn.0048c140
jmp 0x45c824
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
movsx ecx, word [esp + 0x20]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45c85a
mov byte [esp + 0x1f], 0xc
cmp byte [esp + 0x25], 0xff
je 0x45ca3d
cmp dword [esp + 0x44], 1
jne 0x45ca3d
movsx eax, byte [esp + 0x25]
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45c961
test al, al
jne 0x45c8e5
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45ca0a
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45ca0a
test al, al
jne 0x45c993
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45ca0a
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45ca3d
mov byte [esp + 0x1f], 5
mov al, byte [esp + 0x24]
cmp al, 0xff
je 0x45cc14
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45cb38
test al, al
jne 0x45cabc
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45cbe1
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45cbe1
test al, al
jne 0x45cb6a
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45cbe1
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45cc14
mov byte [esp + 0x1f], 4
mov al, byte [esp + 0x23]
cmp al, 0xff
je 0x45cdeb
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45cd0f
test al, al
jne 0x45cc93
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45cdb8
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45cdb8
test al, al
jne 0x45cd41
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45cdb8
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45cdeb
mov byte [esp + 0x1f], 3
cmp byte [esp + 0x25], 0xff
je 0x45cfcf
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x45cfcf
movsx eax, byte [esp + 0x25]
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45cef3
test al, al
jne 0x45ce77
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45cf9c
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45cf9c
test al, al
jne 0x45cf25
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45cf9c
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45cfcf
mov byte [esp + 0x1f], 5
mov al, byte [esp + 0x22]
cmp al, 0xff
je 0x45d1a6
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45d0ca
test al, al
jne 0x45d04e
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45d173
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45d173
test al, al
jne 0x45d0fc
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45d173
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45d1a6
mov byte [esp + 0x1f], 2
mov al, byte [esp + 0x2d]
cmp al, 0xff
je 0x45d37d
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45d2a1
test al, al
jne 0x45d225
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.00488ff0
jmp 0x45d34a
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45d34a
test al, al
jne 0x45d2d3
movsx eax, word [esp + 0x10]
movsx edx, word [esp + 0x18]
mov ecx, dword [ebp + 0x4dd44]
lea eax, [ebp + eax*4 + 0x36438]
push ecx
push edx
lea ecx, [esi + 0xab]
push ebx
push ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], eax
call fcn.0048c140
jmp 0x45d34a
movsx ecx, word [esp + 0x10]
movsx eax, byte [esp + 0x17]
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45d37d
mov byte [esp + 0x1f], 0xd
mov al, byte [esp + 0x27]
cmp al, 0xff
je 0x45d551
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45d474
test bl, bl
jne 0x45d3f7
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45d521
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xaf]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45d521
test bl, bl
jne 0x45d4a9
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45d521
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e73e]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xaf]
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45d551
mov byte [esp + 0x1f], 7
mov al, byte [esp + 0x28]
cmp al, 0xff
je 0x45d720
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45d647
test al, al
jne 0x45d5cc
mov edx, dword [ebp + 0x4dd44]
lea eax, [esi + 0x3c]
movsx ecx, bx
push edx
lea ebx, [edi + 0xbf]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45d6f0
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x36438]
xor ebx, ebx
mov bx, word [ebp + 0x4e6de]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e73e]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45d6f0
test al, al
jne 0x45d67a
mov edx, dword [ebp + 0x4dd44]
lea eax, [esi + 0x3c]
movsx ecx, bx
push edx
lea ebx, [edi + 0xbf]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45d6f0
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x36438]
xor ebx, ebx
mov bx, word [ebp + 0x4e6de]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e73e]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45d720
mov byte [esp + 0x1f], 8
mov al, byte [esp + 0x29]
cmp al, 0xff
je 0x45d8ef
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
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]
mov byte [esp + 0x17], cl
lea ecx, [ebp + edx*4 + 0x4e014]
call fcn.00491a60
test eax, eax
mov al, byte [esp + 0x17]
jne 0x45d816
test al, al
jne 0x45d79b
mov edx, dword [ebp + 0x4dd44]
lea eax, [esi + 0x3c]
movsx ecx, bx
push edx
lea ebx, [edi + 0xbf]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45d8bf
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x36438]
xor ebx, ebx
mov bx, word [ebp + 0x4e6de]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e73e]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45d8bf
test al, al
jne 0x45d849
mov edx, dword [ebp + 0x4dd44]
lea eax, [esi + 0x3c]
movsx ecx, bx
push edx
lea ebx, [edi + 0xbf]
movsx edx, word [esp + 0x1c]
lea ecx, [ebp + ecx*4 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45d8bf
movsx edx, bx
movsx eax, al
lea edx, [ebp + edx*4 + 0x36438]
xor ebx, ebx
mov bx, word [ebp + 0x4e6de]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x4dd44]
lea ecx, [esi + 0x3c]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e73e]
sub edx, ebx
xor ebx, ebx
mov bx, word [ebp + 0x4e6be]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e71e]
sub edx, ebx
lea ebx, [edi + 0xbf]
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e6fe]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45d8ef
mov byte [esp + 0x1f], 9
mov al, byte [esp + 0x26]
cmp al, 0xff
je 0x45dab7
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45d9e0
test bl, bl
jne 0x45d966
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45da87
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45da87
test bl, bl
jne 0x45da12
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45da87
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x78]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45dab7
mov byte [esp + 0x1f], 6
mov al, byte [esp + 0x2a]
cmp al, 0xff
je 0x45dc8b
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45dbae
test bl, bl
jne 0x45db31
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45dc5b
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45dc5b
test bl, bl
jne 0x45dbe3
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45dc5b
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0xc1]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45dc8b
mov byte [esp + 0x1f], 0xa
mov al, byte [esp + 0x21]
cmp al, 0xff
je 0x45de61
movsx eax, al
mov ecx, dword [ebp + eax*4 + 0x4b038]
lea eax, [eax + eax*2]
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 + 0x4e014]
mov word [esp + 0x18], dx
call fcn.00491a60
test eax, eax
jne 0x45dd82
test bl, bl
jne 0x45dd05
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.00488ff0
jmp 0x45de2f
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x8b]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048ccd0
jmp 0x45de2f
test bl, bl
jne 0x45ddb7
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
mov dword [esp + 0x18], ecx
push ebx
mov ecx, dword [ecx]
push eax
call fcn.0048c140
jmp 0x45de2f
movsx ecx, word [esp + 0x10]
movsx eax, bl
lea edx, [ebp + ecx*4 + 0x36438]
mov ecx, dword [ebp + 0x4dd44]
mov dword [esp + 0x10], edx
push ecx
xor edx, edx
xor ecx, ecx
mov dx, word [ebp + eax*2 + 0x4e6de]
mov cx, word [ebp + 0x4e6de]
sub edx, ecx
xor ecx, ecx
mov cx, word [ebp + 0x4e6be]
push edx
xor edx, edx
lea ebx, [edi + 0x8b]
mov dx, word [ebp + eax*2 + 0x4e6be]
sub edx, ecx
push edx
xor edx, edx
mov dx, word [ebp + eax*2 + 0x4e69e]
xor eax, eax
mov ax, word [ebp + 0x4e69e]
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.0048d110
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.0048d9b0
test eax, eax
je 0x45de61
mov byte [esp + 0x1f], 1
jmp 0x45de6c
cmp byte [esp + 0x1f], 0xff
je 0x45e048
mov dl, byte [esp + 0x1f]
movsx ecx, dl
cmp dl, 1
movsx eax, byte [esp + ecx + 0x20]
mov ecx, dword [ebp + eax*4 + 0x4b038]
mov ax, word [ecx + 0x20]
mov cx, word [ecx + 0x22]
jne 0x45dea8
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x8b]
push ecx
push edx
lea ecx, [esi + 0x48]
jmp 0x45e02e
cmp dl, 0xa
jne 0x45dec9
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xc1]
push ecx
push edx
lea ecx, [esi + 0x20]
jmp 0x45e02e
cmp dl, 6
jne 0x45dee7
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0x78]
push ecx
push edx
lea ecx, [esi + 0x23]
jmp 0x45e02e
cmp dl, 9
jne 0x45df18
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
call fcn.00489fc0
jmp 0x45e048
cmp dl, 8
jne 0x45df49
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
push edx
call fcn.00489fc0
jmp 0x45e048
cmp dl, 7
jne 0x45df6a
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
lea edx, [edi + 0xaf]
push ecx
push edx
lea ecx, [esi + 0x54]
jmp 0x45e02e
cmp dl, 2
jne 0x45df8e
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x45e02e
cmp dl, 0xd
jne 0x45dfaf
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x45e02e
cmp dl, 5
jne 0x45dfd0
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x45e02e
cmp dl, 3
jne 0x45dff1
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x45e02e
cmp dl, 4
jne 0x45e012
mov edx, dword [ebp + 0x4dd44]
push 0x1e
movsx ecx, cx
push edx
push ecx
lea ecx, [edi + 0x122]
push ecx
lea ecx, [esi + 0xab]
jmp 0x45e02e
cmp dl, 0xc
jne 0x45e048
mov edx, dword [ebp + 0x4dd44]
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 + 0x36438]
call fcn.00489fc0
jmp 0x45e048
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
movsx ecx, word [esp + 0xc4]
lea eax, [esi + 0xf]
cmp ecx, eax
jl 0x45e09f
lea edx, [esi + 0x59]
cmp ecx, edx
jg 0x45e09f
movsx ecx, word [esp + 0xc8]
lea ebx, [edi + 0x154]
cmp ecx, ebx
jl 0x45e09f
lea edx, [edi + 0x168]
cmp ecx, edx
jg 0x45e09f
mov ecx, dword [ebp + 0x36194]
mov edx, dword [ebp + 0x4dd34]
test ecx, ecx
je 0x45e0cf
cmp dword [ebp + 0x4e478], 1
push edx
push 5
push ebx
push eax
jne 0x45e0ca
call fcn.0048c140
jmp 0x45e0cf
mov ecx, dword [ebp + 0x36194]
mov edx, dword [ebp + 0x4dd34]
test ecx, ecx
lea ebx, [edi + 0x154]
je 0x45e0cf
cmp dword [ebp + 0x4e478], 1
push edx
push 4
push ebx
push eax
jne 0x45e0ca
call fcn.0048c140
jmp 0x45e0cf
call fcn.00488ff0
movsx ecx, word [esp + 0xc4]
lea eax, [esi + 0x62]
cmp ecx, eax
jl 0x45e123
lea edx, [esi + 0xac]
cmp ecx, edx
jg 0x45e123
movsx ecx, word [esp + 0xc8]
cmp ecx, ebx
jl 0x45e123
lea edx, [edi + 0x168]
cmp ecx, edx
jg 0x45e123
mov ecx, dword [ebp + 0x36194]
mov edx, dword [ebp + 0x4dd34]
test ecx, ecx
je 0x45e14d
cmp dword [ebp + 0x4e478], 1
push edx
push 0x2d
push ebx
push eax
jne 0x45e148
call fcn.0048c140
jmp 0x45e14d
mov ecx, dword [ebp + 0x36194]
mov edx, dword [ebp + 0x4dd34]
test ecx, ecx
je 0x45e14d
cmp dword [ebp + 0x4e478], 1
push edx
push 0x2c
push ebx
push eax
jne 0x45e148
call fcn.0048c140
jmp 0x45e14d
call fcn.00488ff0
movsx ecx, word [esp + 0xc4]
lea eax, [esi + 0xb4]
cmp ecx, eax
jl 0x45e1b1
add esi, 0xfe
cmp ecx, esi
jg 0x45e1b1
movsx ecx, word [esp + 0xc8]
cmp ecx, ebx
jl 0x45e1b1
add edi, 0x168
cmp ecx, edi
jg 0x45e1b1
mov ecx, dword [ebp + 0x36194]
mov edx, dword [ebp + 0x4dd34]
test ecx, ecx
je 0x45e1e8
mov esi, dword [ebp + 0x4e478]
push edx
push 0xb
cmp esi, 1
push ebx
push eax
jne 0x45e1e3
call fcn.0048c140
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8
mov ecx, dword [ebp + 0x36194]
mov edx, dword [ebp + 0x4dd34]
test ecx, ecx
je 0x45e1e8
mov esi, dword [ebp + 0x4e478]
push edx
push 0xa
cmp esi, 1
push ebx
push eax
jne 0x45e1e3
call fcn.0048c140
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8
call fcn.00488ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 8