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

Disassembly:
sub esp, 0x11c
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
mov word [esi + 0xe0], bp
mov byte [esi + 0xb08], 0
mov dword [esi + 0xb74], ebp
mov dword [esi + 0xc18], ebp
mov eax, dword [esi + 0xdbc]
mov dword [esi + 0xdbc], ebp
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xe64]
cmp eax, ebp
je 0x466d32
call fcn.00467d20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov al, byte [esi + 0xad4]
test al, al
je 0x466d4e
mov ecx, esi
call fcn.00467fd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
lea ebx, [esi + 8]
lea edi, [esi + 0x60]
mov ecx, ebx
mov edx, dword [ecx]
mov dword [esp + 0x104], edx
lea edx, [esi + 0x6c]
mov eax, dword [ecx + 4]
push edx
mov dword [esp + 0x10c], eax
mov ecx, dword [ecx + 8]
mov dword [esp + 0x110], ecx
mov ecx, edi
call fcn.004e7590
lea eax, [esi + 0x78]
mov ecx, edi
push eax
call fcn.004e76b0
mov ecx, edi
call fcn.004e7550
cmp dword [esi + 0xe1c], 0x40000
jne 0x466e00
mov ax, word [esi + 0x12a]
cmp ax, 0x10e
jne 0x466db3
cmp word [esi + 0x128], 0xd
jge 0x466db9
cmp ax, 0x10f
jne 0x466e00
push edi
mov ecx, ebx
call fcn.004e7590
mov esi, dword [esi + 0x80]
cmp esi, 2
jle 0x467b0e
lea eax, [esp + 0x24]
lea ecx, [esp + 0xf4]
push eax
add esi, 0xfffffffe
push edi
push ecx
mov dword [esp + 0x30], esi
call fcn.004e77a0
add esp, 0xc
mov ecx, ebx
push eax
call fcn.004e7590
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esi + 0x64]
mov dword [esp + 0x4c], 0xffffffff
cmp eax, ebp
jl 0x466e16
mov dword [esp + 0x4c], eax
mov dword [esi + 0x64], ebp
mov eax, dword [esi + 0x80]
mov dword [esp + 0x2c], ebp
cmp eax, 2
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
jle 0x466e85
add eax, 0xfffffffe
lea edx, [esp + 0x24]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x10]
push edx
push eax
lea ecx, [esp + 0xfc]
push edi
push ecx
mov dword [esp + 0x20], 1
call fcn.004e7840
add esp, 0xc
lea edx, [esp + 0x44]
push eax
push edx
call fcn.004e77a0
push eax
lea eax, [esp + 0x28]
push edi
push eax
call fcn.004e7720
mov edx, eax
add esp, 0x18
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
mov edi, dword [edx + 8]
jmp 0x466e95
mov eax, dword [edi]
mov dword [esp + 0x2c], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x30], ecx
mov edi, dword [edi + 8]
mov dl, byte [esi + 0xef4]
mov dword [esp + 0x34], edi
test dl, dl
je 0x466f43
mov edx, dword [0x56e998]
mov ebx, dword [ebx]
mov ecx, dword [edx + 8]
sub ebx, ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [edx + 0x10]
add eax, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x10], ecx
add edi, ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x48], edi
call fcn.004e74a0
mov ecx, dword [esi + 0xef8]
lea edi, [esi + 0xef8]
cmp eax, ecx
je 0x466f37
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 8
push ecx
lea ecx, [esp + 0x44]
call fcn.004e7650
lea edx, [esp + 0x40]
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00470430
add esp, 8
lea ecx, [esp + 0x40]
push edi
call fcn.004e75f0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
sub eax, ebx
sub edi, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edi
jmp 0x466f43
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
sar eax, 9
sar ecx, 9
mov ebx, eax
mov edx, ecx
sar edi, 9
imul ebx, eax
imul edx, ecx
imul edi, edi
add edx, ebx
mov dword [esp + 0x28], ebp
add edx, edi
mov dword [esp + 0x50], ebp
push edx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], ebp
mov word [esp + 0xcc], bp
mov word [esp + 0xce], bp
mov word [esp + 0xd0], bp
call fcn.0046d430
add esp, 4
cmp eax, ebp
mov dword [esp + 0x38], eax
je 0x467582
add ebx, edi
push ebx
call fcn.0046d430
xor ebp, ebp
add esp, 4
cmp eax, ebp
mov dword [esp + 0x24], eax
je 0x467582
mov eax, dword [esi + 0x80]
xor ecx, ecx
mov cx, word [esi + 0xeaa]
cmp eax, 5
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x10], ecx
jl 0x46701b
mov edx, ecx
add eax, 0xfffffffc
sar edx, 1
imul eax, edx
add ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x2c]
mov edi, dword [esi + 0xc]
shl eax, 3
imul eax, ecx
mov ecx, dword [esp + 0x38]
mov ebx, dword [esi + 8]
cdq
idiv ecx
mov edx, dword [esp + 0x30]
mov ebp, dword [esi + 0x10]
sub edi, 0x40000
mov dword [esp + 0x18], eax
lea eax, [edx*8]
imul eax, dword [esp + 0x3c]
cdq
idiv ecx
mov dword [esp + 0x3c], 3
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
shl eax, 3
imul eax, dword [esp + 0x10]
cdq
idiv ecx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x128]
push eax
call fcn.004e7840
add esp, 0xc
lea ecx, [esp + 0x18]
push eax
call fcn.004e7590
mov eax, dword [esi + 0xe48]
test eax, eax
je 0x467100
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
lea ecx, [edi - 0x80000]
add edx, ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x20]
lea ecx, [edi + eax - 0x80000]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x50]
lea eax, [edx + ebp]
push ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x68], eax
call fcn.004524c0
lea edx, [esp + 0x54]
push 1
push edx
call fcn.004549a0
mov eax, dword [esp + 0xc4]
add esp, 0xc
test eax, eax
je 0x467100
or byte [esi + 0xe0], 0x40
mov ecx, dword [esp + 0x18]
mov eax, ecx
add ecx, ebx
cdq
and edx, 3
mov dword [esp + 0x5c], ecx
add eax, edx
mov edx, ebx
sar eax, 2
sub edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x20]
cdq
and edx, 3
add eax, edx
mov edx, edi
sar eax, 2
sub edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], edx
cdq
and edx, 3
add eax, edx
mov edx, ebp
sar eax, 2
sub edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x50]
add edi, eax
add ebp, ecx
push edx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebp
call fcn.004524c0
lea eax, [esp + 0x54]
push 1
push eax
call fcn.004549a0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0xc4]
add esp, 0xc
inc edx
test eax, eax
mov dword [esp + 0x28], edx
je 0x4672c6
mov cx, word [esi + 0xe0]
mov edx, dword [esp + 0xd0]
and ecx, 0xffbf
mov dword [esi + 0xb8c], edx
mov edx, dword [esp + 0xc4]
or ecx, 1
mov word [esi + 0xe0], cx
mov ecx, dword [esp + 0xc0]
mov dword [esi + 0xb74], eax
mov eax, dword [esp + 0xbc]
mov dword [esi + 0xb78], eax
mov ax, word [esp + 0xc8]
mov dword [esi + 0xb80], edx
mov dx, word [esp + 0xcc]
mov dword [esi + 0xb7c], ecx
mov cx, word [esp + 0xca]
mov word [esi + 0xb84], ax
mov eax, dword [esp + 0xcc]
mov word [esi + 0xb88], dx
mov edx, dword [esp + 0xca]
mov word [esi + 0xb86], cx
mov ecx, dword [esp + 0xc8]
or eax, edx
push 0x54ec88
or eax, ecx
test ax, ax
setne cl
push ecx
call fcn.004015b0
movsx edx, word [esp + 0xd0]
movsx eax, word [esp + 0xd4]
mov dword [esp + 0x118], edx
lea ecx, [esp + 0x118]
lea edx, [esp + 0x118]
push ecx
push edx
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], eax
call fcn.00470430
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x128]
mov ebx, dword [esp + 0x120]
mov eax, ecx
mov ebp, edx
sar eax, 6
sar ebp, 6
imul eax, edi
imul ebp, ebx
add eax, ebp
add esp, 0x10
test eax, eax
jg 0x46752f
sar eax, 0xc
mov ebp, eax
imul eax, edi
imul ebp, ebx
sar ebp, 6
sub edx, ebp
sar edx, 2
sar eax, 6
mov dword [esp + 0x2c], edx
sub ecx, eax
jmp 0x467528
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov cx, word [esi + 0xeaa]
mov edi, dword [esp + 0x38]
shl eax, 2
imul eax, ecx
cdq
idiv edi
mov edx, dword [esp + 0x2c]
mov ebp, dword [esi + 0x10]
mov dword [esp + 0xf4], eax
lea eax, [edx*4]
imul eax, ecx
cdq
idiv edi
mov edx, dword [esp + 0x2c]
mov edi, dword [esi + 0xc]
add edi, 0x10000
mov dword [esp + 0x54], edi
mov ebx, eax
mov eax, dword [esi + 8]
mov dword [esp + 0x40], eax
lea eax, [edx*8]
imul eax, dword [esp + 0x10]
cdq
idiv dword [esp + 0x24]
neg ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
shl eax, 3
imul eax, ecx
cdq
idiv dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
lea eax, [ecx*8]
imul eax, dword [esp + 0x10]
cdq
idiv dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
and edx, 3
mov dword [esp + 0x20], ecx
add eax, edx
sar eax, 2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x40]
add edx, eax
mov eax, ebx
mov dword [esp + 0x50], edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x10], eax
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0xf4]
add edx, ebp
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x18]
add eax, edx
mov edx, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
lea edx, [edi + eax]
lea eax, [ebx + ebp]
mov dword [esp + 0x60], edx
add eax, ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], eax
push ecx
call fcn.004524c0
lea edx, [esp + 0x54]
push 1
push edx
call fcn.004549a0
mov eax, dword [esp + 0xc4]
add esp, 0xc
test eax, eax
je 0x467444
mov ax, word [esi + 0xe0]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
and eax, 0xffbf
movsx edi, word [esp + 0xcc]
movsx ebx, word [esp + 0xc8]
or al, 1
mov ebp, edx
mov word [esi + 0xe0], ax
mov eax, ecx
sar eax, 6
sar ebp, 6
imul eax, edi
imul ebp, ebx
add eax, ebp
test eax, eax
jg 0x46752f
jmp 0x46750e
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], edi
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x24]
sub edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], edx
cdq
sub eax, edx
mov edx, ebp
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x10]
sub edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xf4]
sub ecx, edx
sub ebp, ebx
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x20]
add ebp, ecx
lea ecx, [esp + 0x50]
add edi, eax
push ecx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebp
call fcn.004524c0
lea edx, [esp + 0x54]
push 1
push edx
call fcn.004549a0
mov eax, dword [esp + 0xc4]
add esp, 0xc
test eax, eax
je 0x467576
mov ax, word [esi + 0xe0]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
and eax, 0xffbf
movsx edi, word [esp + 0xcc]
movsx ebx, word [esp + 0xc8]
or al, 1
mov ebp, edx
mov word [esi + 0xe0], ax
mov eax, ecx
sar eax, 6
sar ebp, 6
imul eax, edi
imul ebp, ebx
add eax, ebp
test eax, eax
jg 0x46752f
sar eax, 0xc
imul ebx, eax
imul edi, eax
sar ebx, 6
sub edx, ebx
sar edx, 2
sar edi, 6
mov dword [esp + 0x2c], edx
sub ecx, edi
sar ecx, 2
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x46757e
cmp dword [esp + 0x28], 2
jge 0x46757e
mov eax, dword [esp + 0x30]
sar ecx, 9
sar edx, 9
sar eax, 9
mov edi, ecx
mov ebx, edx
mov ecx, eax
imul ebx, edx
imul ecx, eax
imul edi, edi
add ecx, ebx
add ecx, edi
push ecx
call fcn.0046d430
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
jne 0x466fd6
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
xor ebp, ebp
jmp 0x46758a
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x80]
cmp eax, 2
jle 0x4675ec
mov dword [esp + 0x3c], eax
lea edx, [esp + 0x3c]
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x30]
push eax
lea edx, [esp + 0x128]
push ecx
push edx
mov dword [esp + 0x34], 1
call fcn.004e7870
add esp, 0xc
push eax
lea eax, [esp + 0xfc]
push eax
call fcn.004e7800
mov edx, dword [eax]
lea edi, [esi + 0x60]
mov ecx, edi
add esp, 0xc
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x30]
mov dword [ecx + 8], eax
jmp 0x4675fd
lea edi, [esi + 0x60]
mov eax, edi
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xb8]
mov eax, dword [esi + 0xc]
cmp ecx, ebp
mov dword [esp + 0x3c], eax
jne 0x46761e
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esi + 8]
call fcn.004e7590
jmp 0x46762f
cmp dword [0x54ec7c], ebp
je 0x46762a
cmp edx, ebp
jge 0x46762f
add eax, edx
mov dword [esi + 0xc], eax
cmp dword [esi + 0xe1c], 1
jne 0x46772e
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xe94]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esp + 0x50], eax
add ebx, eax
mov eax, dword [esi + 0xe9c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x50]
add eax, edx
push ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x68], eax
call fcn.004524c0
lea edx, [esp + 0x54]
push 1
push edx
call fcn.004549a0
mov eax, dword [esp + 0xc4]
add esp, 0xc
cmp eax, ebp
je 0x4676e9
mov ax, word [esp + 0xca]
cmp ax, 0xf5d8
jl 0x4676e9
cmp ax, 0xd48
jg 0x4676e9
movsx eax, word [esp + 0xc8]
mov ebx, dword [edi]
lea ecx, [eax*4]
add ebx, ecx
movsx ecx, word [esp + 0xcc]
mov dword [edi], ebx
mov edi, dword [esi + 0x68]
lea edx, [ecx*4]
neg eax
neg ecx
add edi, edx
shl eax, 5
shl ecx, 5
mov dword [esi + 0x68], edi
mov dword [esi + 0xe94], eax
mov dword [esi + 0xe9c], ecx
jmp 0x46772e
push 0x40
call fcn.004e5da0
add eax, 0x100
add esp, 4
add word [esi + 0xe90], ax
mov ax, word [esi + 0xe90]
and eax, 0xfff
shl eax, 2
movsx ecx, word [eax + 0x610c48]
shl ecx, 5
mov dword [esi + 0xe94], ecx
movsx edx, word [eax + 0x610c4a]
shl edx, 5
mov dword [esi + 0xe9c], edx
cmp dword [esi + 0x64], ebp
jl 0x467748
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x4677d9
cmp dword [eax + 0x64], ebp
jge 0x4677d9
mov ecx, dword [esi + 0xc]
mov ebx, dword [esp + 0x30]
mov eax, dword [esi + 8]
mov edx, ecx
sub edx, ebx
lea edi, [esi + 0xbb0]
add edx, 0x40000
add ecx, 0xfff48000
mov dword [esi + 0xbb4], edx
mov edx, dword [esi + 0x10]
push edi
mov dword [edi], eax
mov dword [esi + 0xbb8], edx
mov dword [esi + 0xbbc], eax
mov dword [esi + 0xbc0], ecx
mov dword [esi + 0xbc4], edx
call fcn.004524c0
push 1
push edi
call fcn.004549a0
mov eax, dword [esi + 0xc18]
add esp, 0xc
cmp eax, ebp
je 0x4677d9
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc20]
sub eax, 0x78000
cmp eax, ecx
jge 0x4677d9
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x64], ebp
mov dx, word [esi + 0xe0]
and edx, 0xffbf
or dh, 1
mov word [esi + 0xe0], dx
mov eax, dword [esp + 0x4c]
cmp eax, ebp
jl 0x467b06
mov edi, dword [esi + 0x80]
cmp edi, 2
jle 0x4677fe
mov ecx, eax
add edi, 0xfffffffe
sar ecx, 1
imul edi, ecx
add edi, eax
jmp 0x467800
mov edi, eax
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x58], edx
sub eax, 0x28000
fild dword [esp + 0x58]
mov dword [esp + 0x54], eax
lea eax, [edi + eax + 0x8c000]
mov dword [esp + 0x60], eax
mov ecx, dword [esi + 8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x64], edx
fstp dword [esp + 0x14]
fild dword [esp + 0x54]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x100], eax
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
fstp dword [esp + 0x3c]
fild dword [esp + 0x50]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
fstp dword [esp + 0x14]
fild dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], ecx
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv dword [0x53b36c]
lea ecx, [esp + 0x50]
push ecx
fstp dword [esp + 0x18]
call fcn.004524c0
lea edx, [esp + 0x54]
push 1
push edx
call fcn.004549a0
mov eax, dword [0x60f894]
mov edx, dword [esp + 0xc4]
add esp, 0xc
cmp eax, ebp
je 0x467b19
cmp edx, ebp
jne 0x467b1d
fld dword [esp + 0x3c]
fmul dword [0x53b36c]
xor ebx, ebx
call fcn.00529c7c
fld dword [esp + 0x14]
fmul dword [0x53b36c]
mov dword [esp + 0x3c], eax
call fcn.00529c7c
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x100]
cmp ebx, 7
mov dword [esp + 0x48], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
ja case.default.0x467929
jmp dword [ebx*4 + 0x467cf8]
fld dword [esp + 0x38]
fadd dword [0x54ec84]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
jmp case.default.0x467929
fld dword [esp + 0x38]
fsub dword [0x54ec84]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
jmp case.default.0x467929
fld dword [esp + 0x10]
fadd dword [0x54ec84]
jmp 0x467a61
fld dword [esp + 0x10]
fsub dword [0x54ec84]
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x48], ecx
jmp case.default.0x467929
fld dword [0x54ec84]
fmul dword [0x53b390]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fadd dword [esp + 0x38]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fld dword [esp + 0x28]
fadd dword [esp + 0x10]
mov dword [esp + 0x40], edx
jmp 0x467a61
fld dword [0x54ec84]
fmul dword [0x53b390]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fadd dword [esp + 0x38]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x48], edx
jmp case.default.0x467929
fld dword [0x54ec84]
fmul dword [0x53b390]
fstp dword [esp + 0x28]
fld dword [esp + 0x38]
fsub dword [esp + 0x28]
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fadd dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x48], ecx
jmp case.default.0x467929
fld dword [0x54ec84]
fmul dword [0x53b390]
fstp dword [esp + 0x28]
fld dword [esp + 0x38]
fsub dword [esp + 0x28]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fld dword [esp + 0x10]
fsub dword [esp + 0x28]
mov dword [esp + 0x40], edx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x48], eax
fld dword [esp + 0x40]
fmul dword [0x53b36c]
call fcn.00529c7c
fld dword [esp + 0x48]
fmul dword [0x53b36c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
call fcn.00529c7c
fld dword [esp + 0x18]
fmul dword [0x53b36c]
mov dword [esp + 0x58], eax
call fcn.00529c7c
fld dword [esp + 0x20]
fmul dword [0x53b36c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
call fcn.00529c7c
mov dword [esp + 0x64], eax
lea eax, [esp + 0x50]
push eax
call fcn.004524c0
lea ecx, [esp + 0x54]
push 1
push ecx
call fcn.004549a0
mov edx, dword [esp + 0xc4]
add esp, 0xc
cmp edx, ebp
jne 0x467b1d
inc ebx
cmp ebx, 8
jle 0x4678fd
mov eax, dword [esi + 0xc]
add eax, edi
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x64], eax
lea ecx, [esi + 0x14]
call fcn.004e78a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
cmp edx, ebp
je 0x467af7
mov eax, dword [esi + 0xe48]
mov byte [esi + 0xea4], 4
cmp eax, ebp
je 0x467b6b
mov eax, dword [esp + 0xd0]
test dword [eax + 0xc], 0x4000000
je 0x467b6b
mov ecx, dword [esp + 0x104]
lea eax, [esi + 8]
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10c]
mov dword [eax + 8], ecx
or byte [esi + 0xe0], 2
jmp 0x467c3d
cmp word [esp + 0xca], 0xf5d8
jge 0x467baa
mov eax, dword [esp + 0xc0]
xor ecx, ecx
mov cx, word [esi + 0xea8]
and eax, 0xfffff000
shl ecx, 0xc
mov dword [esp + 0xc0], eax
sub eax, ecx
mov dword [esi + 0xc], eax
mov dword [esi + 0x64], ebp
or byte [esi + 0xe0], 2
jmp 0x467c3d
cmp dword [esp + 0x90], ebp
jle 0x467c27
mov ecx, dword [esp + 0xc0]
xor eax, eax
mov ax, word [esi + 0xea8]
shl eax, 0xc
sub ecx, eax
mov eax, edi
mov dword [esi + 0xc], ecx
mov cl, byte [esi + 0x78]
sar eax, cl
mov ecx, edi
sub ecx, eax
movsx eax, word [esp + 0xc8]
sar ecx, 0xc
imul ecx, eax
mov eax, dword [esi + 8]
add eax, ecx
mov cl, byte [esi + 0x7a]
mov dword [esi + 8], eax
mov eax, edi
sar eax, cl
mov ecx, edi
sub ecx, eax
movsx eax, word [esp + 0xcc]
sar ecx, 0xc
imul ecx, eax
mov eax, dword [esi + 0x10]
add eax, ecx
mov cl, byte [esi + 0x79]
mov dword [esi + 0x10], eax
mov eax, edi
sar eax, cl
mov ecx, dword [esp + 0x4c]
sub edi, eax
mov eax, dword [esi + 0xc]
add eax, edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x64], ecx
jmp 0x467c3d
cmp dword [0x54ec80], ebp
je 0x467c33
cmp edi, ebp
jge 0x467c36
add dword [esi + 0xc], edi
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x64], eax
mov ecx, dword [esp + 0xbc]
lea eax, [esi + 0xa8]
mov word [eax], bp
mov word [eax + 2], 0xf000
mov word [eax + 4], bp
mov dword [esi + 0xb8], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esi + 0xbc], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esi + 0xc0], ecx
test byte [edx + 5], 1
je 0x467ca3
push eax
lea eax, [esi + 8]
push eax
push esi
mov ecx, edx
call fcn.00469670
mov ecx, dword [esp + 0xb8]
call fcn.00469070
mov edx, dword [esp + 0xb8]
mov dword [esi + 0xdbc], edx
mov eax, dword [esp + 0xd0]
test dword [eax + 0xc], 0x800000
je 0x467cd5
mov cx, word [esi + 0x574]
push ecx
mov ecx, esi
call fcn.004bad90
lea ecx, [esi + 0x14]
call fcn.004e78a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov dx, word [esi + 0x578]
mov ecx, esi
push edx
call fcn.004bad90
lea ecx, [esi + 0x14]
call fcn.004e78a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret