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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x921179
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x124
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
call fcn.00911f0c
lea ecx, [esp + 0x28]
mov dword [esp + 0x138], 0
call fcn.00911f0c
lea ecx, [esp + 0x2c]
mov byte [esp + 0x138], 1
call fcn.00911f0c
mov eax, dword [0xa8e738]
lea ecx, [esp + 0x28]
push eax
push 0xa
push 0x25
push 0xa771b0
push ecx
mov byte [esp + 0x14c], 2
call fcn.00911f42
mov edx, dword [0xa8e73c]
lea eax, [esp + 0x40]
push edx
push 0xa
push 0x25
push 0xa771b0
push eax
call fcn.00911f42
mov ax, word [esi + 0x244e]
add esp, 0x28
cmp ax, 3
je 0x4676de
cmp ax, 9
jne 0x4672c4
fld qword [esi + 0x24c0]
fmul qword [esi + 0x2528]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2008]
mov ecx, esi
fstp qword [esi + 0x2008]
fld qword [esi + 0x2528]
fmul qword [esi + 0x24c8]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2010]
mov ecx, esi
fstp qword [esi + 0x2010]
fld qword [esi + 0x2528]
fmul qword [esi + 0x24d0]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2018]
fstp qword [esi + 0x2018]
fld qword [esi + 0x24d8]
fmul qword [esi + 0x2528]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2020]
mov ecx, esi
fstp qword [esi + 0x2020]
fld qword [esi + 0x24e8]
fmul qword [esi + 0x2528]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2038]
mov ecx, esi
fstp qword [esi + 0x2038]
fld qword [esi + 0x2528]
fmul qword [esi + 0x24f8]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2048]
fstp qword [esi + 0x2048]
fld qword [esi + 0x2528]
fmul qword [esi + 0x2500]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2050]
fstp qword [esi + 0x2050]
mov edx, dword [0xa8e738]
fld qword [esi + 0x2508]
fmul qword [esi + 0x2528]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2058]
mov ecx, esi
fstp qword [esi + 0x2058]
fld qword [esi + 0x2510]
fmul qword [esi + 0x2528]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2060]
fstp qword [esi + 0x2060]
fld qword [esi + 0x2528]
fmul qword [esi + 0x2518]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2078]
mov ecx, esi
fstp qword [esi + 0x2078]
fld qword [esi + 0x24c0]
fmul qword [esi + 0x2528]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c0]
mov ecx, esi
fstp qword [esi + 0x20c0]
fld qword [esi + 0x2528]
fmul qword [esi + 0x24c8]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c8]
fstp qword [esi + 0x20c8]
fld qword [esi + 0x2528]
fmul qword [esi + 0x24d0]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20d0]
mov ecx, esi
fstp qword [esi + 0x20d0]
fld qword [esi + 0x24d8]
fmul qword [esi + 0x2528]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20d8]
mov ecx, esi
fstp qword [esi + 0x20d8]
fld qword [esi + 0x24e8]
fmul qword [esi + 0x2528]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20e8]
fstp qword [esi + 0x20e8]
fld qword [esi + 0x2528]
fmul qword [esi + 0x24f8]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20f0]
mov ecx, esi
fstp qword [esi + 0x20f0]
fld qword [esi + 0x2528]
fmul qword [esi + 0x2500]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20f8]
mov ecx, esi
fstp qword [esi + 0x20f8]
fld qword [esi + 0x2508]
fmul qword [esi + 0x2528]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2100]
fstp qword [esi + 0x2100]
fld qword [esi + 0x2510]
fmul qword [esi + 0x2528]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2108]
fstp qword [esi + 0x2108]
fld qword [esi + 0x2528]
fmul qword [esi + 0x2518]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2118]
fstp qword [esi + 0x2118]
jmp 0x467709
cmp ax, 0xa
jne 0x467326
mov eax, dword [0xa8e738]
mov ecx, esi
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2088]
fstp qword [esi + 0x2088]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2120]
fstp qword [esi + 0x2120]
jmp 0x467709
cmp ax, 0xb
jne 0x467388
mov edx, dword [0xa8e738]
mov ecx, esi
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2090]
mov ecx, esi
fstp qword [esi + 0x2090]
mov eax, dword [0xa8e738]
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2128]
fstp qword [esi + 0x2128]
jmp 0x467709
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2008]
mov ecx, esi
fstp qword [esi + 0x2008]
mov edx, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24c8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2010]
mov ecx, esi
fstp qword [esi + 0x2010]
mov eax, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24d0]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2018]
fstp qword [esi + 0x2018]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24d8]
fmul qword [esi + 0x24b8]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2020]
mov ecx, esi
fstp qword [esi + 0x2020]
mov edx, dword [0xa8e738]
fld qword [esi + 0x24e8]
fmul qword [esi + 0x24b8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2038]
mov ecx, esi
fstp qword [esi + 0x2038]
mov eax, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24f8]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2048]
fstp qword [esi + 0x2048]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x2500]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2050]
mov ecx, esi
fstp qword [esi + 0x2050]
mov edx, dword [0xa8e738]
fld qword [esi + 0x2508]
fmul qword [esi + 0x24b8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2058]
fstp qword [esi + 0x2058]
mov eax, dword [0xa8e738]
fld qword [esi + 0x2510]
fmul qword [esi + 0x24b8]
push eax
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2060]
fstp qword [esi + 0x2060]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x2518]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2078]
mov ecx, esi
fstp qword [esi + 0x2078]
mov edx, dword [0xa8e738]
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c0]
mov ecx, esi
fstp qword [esi + 0x20c0]
mov eax, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24c8]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c8]
fstp qword [esi + 0x20c8]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24d0]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20d0]
mov ecx, esi
fstp qword [esi + 0x20d0]
mov edx, dword [0xa8e738]
fld qword [esi + 0x24d8]
fmul qword [esi + 0x24b8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20d8]
mov ecx, esi
fstp qword [esi + 0x20d8]
mov eax, dword [0xa8e738]
fld qword [esi + 0x24e8]
fmul qword [esi + 0x24b8]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20e8]
fstp qword [esi + 0x20e8]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24f8]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20f0]
fstp qword [esi + 0x20f0]
mov edx, dword [0xa8e738]
push edx
fld qword [esi + 0x24b8]
fmul qword [esi + 0x2500]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20f8]
mov ecx, esi
fstp qword [esi + 0x20f8]
mov eax, dword [0xa8e738]
fld qword [esi + 0x2508]
fmul qword [esi + 0x24b8]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2100]
fstp qword [esi + 0x2100]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x2510]
fmul qword [esi + 0x24b8]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2108]
fstp qword [esi + 0x2108]
mov edx, dword [0xa8e738]
fld qword [esi + 0x24b8]
fmul qword [esi + 0x2518]
push edx
jmp 0x4672a6
mov eax, dword [0xa8e738]
mov ecx, esi
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24c0]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2080]
fstp qword [esi + 0x2080]
mov al, byte [esi + 0x516]
mov ebx, dword [ebp + 8]
test al, al
je 0x467778
mov eax, dword [esi + 0x584]
test eax, eax
jle 0x46773a
cmp eax, dword [esi + 0x588]
jge 0x46773a
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0xc]
add eax, ecx
push eax
push 0xa773a4
push edx
jmp 0x467748
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0xc]
push eax
push 0xa773a4
push ecx
call fcn.00911f42
mov edx, dword [0xa8e758]
mov ecx, dword [esp + 0x18]
mov edi, dword [ebx]
add esp, 0xc
lea eax, [edx + 3]
mov edx, dword [ecx - 8]
mov dword [esp + 0x10], edi
mov edi, dword [ebp + 0xc]
push edx
push ecx
push edi
push eax
mov eax, dword [esp + 0x20]
mov ecx, ebx
call dword [eax + 0x64]
jmp 0x46777b
mov edi, dword [ebp + 0xc]
mov al, byte [esi + 0x517]
test al, al
je 0x467bbf
mov ax, word [esi + 0x244e]
cmp ax, 1
jne 0x4677a9
push 0xa773a0
lea ecx, [esp + 0x10]
call fcn.00911f06
jmp 0x467b80
cmp ax, 2
je 0x467796
cmp ax, 3
jne 0x467804
fld qword [esi + 0x2450]
fst qword [esp + 0x14]
fcomp qword [0x9cb978]
fnstsw ax
test ah, 1
je 0x4677e3
lea ecx, [esp + 0xc]
push 0xa77394
push ecx
call fcn.00911f42
add esp, 8
jmp 0x467b80
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0x14]
push 0xa77388
push ecx
call fcn.00911f42
add esp, 0x10
jmp 0x467b80
mov edx, dword [esi + 0x2454]
mov eax, dword [esi + 0x2450]
movsx ecx, word [esi + 0x244a]
push edx
push eax
movsx edx, word [esi + 0x2448]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._2d__2d___7.0f
push eax
call fcn.00911f42
mov ax, word [esi + 0x2448]
add esp, 0x18
cmp ax, 0x23
je 0x467a5b
cmp ax, 0x51
je 0x467a5b
cmp ax, 0x42
je 0x467a5b
cmp ax, 0x43
je 0x467a5b
cmp ax, 0x44
je 0x467a5b
cmp ax, 0x45
je 0x467a5b
cmp ax, 0x55
je 0x467a5b
cmp ax, 0x57
je 0x467a5b
cmp ax, 0x4d
je 0x467a5b
cmp ax, 0x5a
je 0x467a5b
cmp ax, 0x5b
je 0x467a5b
cmp ax, 0x24
je 0x467a05
cmp ax, 0x52
je 0x467a05
cmp ax, 2
je 0x467b80
cmp ax, 9
je 0x467b80
cmp ax, 4
je 0x467b80
cmp ax, 5
je 0x467b80
cmp ax, 6
je 0x467b80
cmp ax, 0xc
je 0x467b80
cmp ax, 0xd
je 0x467b80
cmp ax, 0xe
je 0x467b80
mov al, byte [esi + 0x24a0]
mov edx, dword [esi + 0x2454]
mov ecx, dword [esi + 0x2450]
cmp al, 1
mov eax, edx
mov dword [esp + 0x14], ecx
push eax
push ecx
mov dword [esp + 0x20], edx
mov ecx, esi
jne 0x4679a3
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esp + 0x14]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x46797a
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
movsx ecx, word [esi + 0x244a]
push edx
push eax
push ecx
push str._2d___1.0f_H_
lea edx, [esp + 0x1c]
push edx
call fcn.00911f42
add esp, 0x14
jmp 0x467b80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movsx edx, word [esi + 0x244a]
push eax
push ecx
push edx
lea eax, [esp + 0x18]
push str._2d___4.3f_H_
push eax
call fcn.00911f42
add esp, 0x14
jmp 0x467b80
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esp + 0x14]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4679dc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
movsx ecx, word [esi + 0x244a]
push edx
push eax
push ecx
push str._2d___7.0f
jmp 0x467968
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movsx edx, word [esi + 0x244a]
push eax
push ecx
push edx
lea eax, [esp + 0x18]
push str._2d___7.3f
push eax
call fcn.00911f42
add esp, 0x14
jmp 0x467b80
cmp byte [esi + 0x24a0], 1
jne 0x467a3b
mov ecx, dword [esi + 0x2454]
mov edx, dword [esi + 0x2450]
movsx eax, word [esi + 0x244a]
push ecx
push edx
push eax
lea ecx, [esp + 0x18]
push str._1d___1.0f_H_
push ecx
call fcn.00911f42
add esp, 0x14
jmp 0x467b80
mov edx, dword [esi + 0x2454]
mov eax, dword [esi + 0x2450]
movsx ecx, word [esi + 0x244a]
push edx
push eax
push ecx
push str._1d___4.0f
jmp 0x467968
cmp byte [esi + 0x24a0], 1
jne 0x467af4
mov ecx, dword [esi + 0x2454]
mov eax, dword [esi + 0x2450]
mov edx, ecx
mov dword [esp + 0x18], ecx
push edx
push eax
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esp + 0x14]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x467acb
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
movsx eax, word [esi + 0x244c]
push ecx
push edx
movsx ecx, word [esi + 0x244a]
push eax
push ecx
lea edx, [esp + 0x1c]
push str._1d__1d___1.0f_H_
push edx
jmp 0x467b78
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movsx edx, word [esi + 0x244c]
push eax
push ecx
movsx eax, word [esi + 0x244a]
push edx
push eax
lea ecx, [esp + 0x1c]
push str._1d__1d___4.3f_H_
push ecx
jmp 0x467b78
mov eax, dword [esi + 0x2454]
mov edx, dword [esi + 0x2450]
mov ecx, eax
mov dword [esp + 0x14], edx
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esp + 0x14]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x467b54
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movsx edx, word [esi + 0x244c]
push eax
push ecx
movsx eax, word [esi + 0x244a]
push edx
push eax
lea ecx, [esp + 0x1c]
push str._1d__1d___4.0f
push ecx
jmp 0x467b78
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
movsx ecx, word [esi + 0x244c]
push edx
push eax
movsx edx, word [esi + 0x244a]
push ecx
push edx
lea eax, [esp + 0x1c]
push str._1d__1d___4.0f
push eax
call fcn.00911f42
add esp, 0x18
mov eax, dword [esi + 0x9c8]
imul eax, dword [esi + 0x734]
cdq
sub eax, edx
mov edx, dword [esi + 0x978]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x484]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0xc]
sub eax, 3
mov edx, dword [ecx - 8]
mov dword [esp + 0x10], edx
push dword [esp + 0x10]
mov edx, dword [ebx]
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov al, byte [esi + 0x518]
test al, al
je 0x467ca6
cmp byte [0xa8e786], 1
jne 0x467c23
mov ax, word [esi + 0x244e]
cmp ax, 0xa
je 0x467be9
cmp ax, 0xb
jne 0x467c23
mov ecx, dword [esi + 0x9a4]
xor eax, eax
mov edx, ecx
lea edi, [esp + 0x30]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0x22
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esi + 0x2458]
lea ecx, [esp + 0x34]
push eax
push ecx
nop
call fcn.00b14e84
lea edx, [esp + 0x3c]
push edx
push 0xa771e8
jmp 0x467c5b
mov ecx, dword [esi + 0x9a4]
xor eax, eax
mov edx, ecx
lea edi, [esp + 0x30]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0x3c
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esi + 0x2458]
lea ecx, [esp + 0x34]
push eax
push ecx
nop
call fcn.00b14e8d
lea edx, [esp + 0x3c]
push edx
push 0xa76fa0
lea eax, [esp + 0x20]
push eax
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov edi, dword [ebx]
imul eax, dword [esi + 0x738]
cdq
sub eax, edx
mov edx, dword [esi + 0x97c]
mov ecx, eax
add esp, 0x18
mov eax, dword [esi + edx*4 + 0x484]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0xc]
sub eax, 3
mov edx, dword [ecx - 8]
push edx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push eax
mov ecx, ebx
call dword [edi + 0x64]
mov edi, dword [ebp + 0xc]
mov al, byte [esi + 0x519]
test al, al
je 0x46814b
mov al, byte [0xa8e784]
test al, al
je 0x467f40
lea ecx, [esp + 0x10]
call fcn.00911f0c
lea eax, [esi + 0x2495]
lea ecx, [esp + 0xc]
push eax
mov byte [esp + 0x13c], 3
call fcn.00911f06
mov edx, dword [esp + 0xc]
push 0xa76f28
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
mov dword [esp + 0x28], eax
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x467de0
push 0xa77194
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x467de0
push 0xa77190
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x467de0
push 0xa76f34
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x467de0
lea eax, [esi + 0x2495]
lea ecx, [esp + 0x20]
push eax
call fcn.00911edc
mov eax, dword [esi + 0x73c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esi + 0x9c8]
sub eax, edx
imul eax, ecx
cdq
sub eax, edx
mov byte [esp + 0x138], 6
sar eax, 1
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
add ecx, eax
mov eax, dword [esi + 0x73c]
imul eax, dword [esi + 0x9c8]
cdq
sub eax, edx
mov edx, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x20]
sub ecx, 3
mov eax, dword [eax - 8]
push eax
mov eax, dword [esp + 0x24]
push eax
push edi
push ecx
mov ecx, ebx
call dword [edx + 0x64]
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 3
call fcn.00911ee2
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x10]
jmp 0x468146
lea ecx, [esp + 0x20]
push 1
push ecx
lea ecx, [esp + 0x14]
call fcn.0091218e
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 4
call fcn.00911f3c
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 3
call fcn.00911ee2
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xc]
lea eax, [edx - 1]
mov dword [esp + 0x14], eax
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00912044
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x13c], 5
call fcn.00911f3c
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 3
call fcn.00911ee2
mov edi, dword [esi + 0x73c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esi + 0x9c8]
mov eax, edi
sub eax, edx
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
add ecx, eax
mov eax, edi
imul eax, dword [esi + 0x9c8]
cdq
sub eax, edx
mov edi, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0xc]
sub ecx, 3
mov edx, dword [eax - 8]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2154]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov eax, dword [esi + 0x73c]
mov edx, dword [esp + 0x24]
mov edi, dword [esi + 0x9c8]
sub eax, edx
imul eax, edi
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
add ecx, eax
mov eax, dword [esp + 0x14]
imul eax, edi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov eax, dword [esi + 0x73c]
imul eax, edi
cdq
sub eax, edx
mov edi, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x10]
sub ecx, 3
mov edx, dword [eax - 8]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2144]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov edi, dword [ebp + 0xc]
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x10]
jmp 0x468146
lea eax, [esi + 0x2495]
lea ecx, [esp + 0xc]
push eax
call fcn.00911f06
push 0xa76f28
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x468009
push 0xa77194
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x468009
push 0xa77190
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x468009
push 0xa76f34
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x468009
lea eax, [esi + 0x2495]
lea ecx, [esp + 0x10]
push eax
call fcn.00911edc
mov eax, dword [esi + 0x9c8]
mov byte [esp + 0x138], 0xa
imul eax, dword [esi + 0x73c]
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
mov edx, dword [ebx]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
mov ecx, dword [ecx - 8]
push ecx
mov ecx, dword [esp + 0x14]
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x10]
jmp 0x468146
lea ecx, [esp + 0x10]
call fcn.00911f0c
lea edx, [esp + 0x14]
push 1
push edx
lea ecx, [esp + 0x14]
mov byte [esp + 0x140], 7
call fcn.0091218e
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 8
call fcn.00911f3c
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 7
call fcn.00911ee2
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x14]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x14]
call fcn.00912044
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x13c], 9
call fcn.00911f3c
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 7
call fcn.00911ee2
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x960]
imul eax, dword [esi + 0x73c]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x574]
mov ecx, dword [esp + 0xc]
sar edx, 1
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2154]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov ecx, dword [esp + 0xc]
mov eax, dword [esi + 0x73c]
mov edi, dword [esi + 0x960]
mov edx, dword [ecx - 8]
mov ecx, dword [esi + 0x9c8]
imul eax, ecx
mov edi, dword [esi + edi*4 + 0x574]
mov dword [esp + 0x14], edx
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, ecx
imul eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cdq
sub eax, edx
mov edx, dword [ecx - 8]
sar eax, 1
push edx
push ecx
lea eax, [edi + eax - 3]
mov edi, dword [ebx]
mov dword [esp + 0x1c], edi
mov edi, dword [ebp + 0xc]
push edi
push eax
mov eax, dword [esp + 0x24]
mov ecx, ebx
call dword [eax + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2144]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x10]
call fcn.00911ee2
mov al, byte [esi + 0x51a]
test al, al
je 0x468200
cmp word [esi + 0x244e], 9
jne 0x468185
mov ecx, dword [0xa8e73c]
mov edx, dword [esi + 0x252c]
mov eax, dword [esi + 0x2528]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004126e0
fstp qword [esi + 0x24b8]
mov ecx, dword [0xa8e738]
mov edx, dword [esi + 0x740]
push ecx
push edx
push 0x25
lea eax, [esp + 0x34]
push 0xa771b0
push eax
call fcn.00911f42
mov ecx, dword [esi + 0x24bc]
mov edx, dword [esi + 0x24b8]
mov eax, dword [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x96c]
imul eax, dword [esi + 0x740]
cdq
sub eax, edx
add esp, 0x24
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x54c]
mov ecx, dword [esp + 0xc]
sar edx, 1
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov edi, dword [ebp + 0x14]
mov edx, dword [esi + 0x24c0]
lea eax, [edi + 0x40]
mov dword [esp + 0x14], eax
mov dword [eax], edx
mov ecx, dword [esi + 0x24c4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x24c8]
mov dword [edi + 0x48], edx
mov eax, dword [esi + 0x24cc]
mov dword [edi + 0x4c], eax
xor eax, eax
mov dword [edi + 0x50], eax
mov dword [edi + 0x58], eax
mov dword [edi + 0x54], eax
mov dword [edi + 0x5c], eax
mov ecx, dword [0xa8e738]
fld qword [esi + 0x24c0]
fmul qword [esi + 0x24b8]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x60]
mov edx, dword [0xa8e738]
mov ecx, esi
fld qword [esi + 0x24b8]
fmul qword [esi + 0x24c8]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x68]
mov ecx, dword [esi + 0x960]
xor eax, eax
mov dword [edi + ecx*8], eax
mov dword [edi + ecx*8 + 4], eax
mov dword [edi + 0x78], eax
mov dword [edi + 0x80], eax
mov dword [edi + 0x88], eax
mov dword [edi + 0x7c], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x8c], eax
mov edx, dword [esi + 0x964]
mov dword [edi + edx*8], eax
mov dword [edi + edx*8 + 4], eax
mov dword [edi + 0x98], eax
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa8], eax
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb8], eax
mov dword [edi + 0xc0], eax
mov dword [edi + 0xc8], eax
mov dword [edi + 0xd0], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 0xa4], eax
mov dword [edi + 0xac], eax
mov dword [edi + 0xb4], eax
mov dword [edi + 0xbc], eax
mov dword [edi + 0xc4], eax
mov dword [edi + 0xcc], eax
mov dword [edi + 0xd4], eax
mov ecx, dword [esi + 0x970]
mov dword [edi + ecx*8], eax
mov dword [edi + ecx*8 + 4], eax
mov edx, dword [esi + 0x960]
shl edx, 4
mov dword [edx + edi], eax
mov dword [edx + edi + 4], eax
mov dword [edi + 0xe8], eax
mov dword [edi + 0xec], eax
mov ecx, dword [esi + 0x598]
mov eax, 8
cmp ecx, eax
mov dword [esp + 0x20], eax
jle 0x46843a
mov eax, dword [esp + 0x14]
lea edi, [esi + 0x74c]
mov dword [esp + 0x24], eax
push 0xa907a4
lea ecx, [esp + 0x10]
call fcn.00911f06
mov ecx, dword [esp + 0x20]
mov al, byte [esi + ecx + 0x515]
test al, al
je 0x468415
mov eax, dword [esp + 0x24]
mov ecx, esi
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
call fcn.008f5ce0
fcomp qword [0x9cb968]
fnstsw ax
test ah, 0x41
jne 0x468415
mov ecx, dword [0xa8e738]
mov edx, dword [edi]
push ecx
push edx
push 0x25
lea eax, [esp + 0x34]
push 0xa771b0
push eax
call fcn.00911f42
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x3c]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esp + 0x30]
imul eax, dword [edi]
mov ecx, dword [ecx - 8]
add esp, 0x24
cdq
sub eax, edx
push ecx
mov ecx, dword [esp + 0x10]
mov edx, eax
mov eax, dword [edi - 0x190]
push ecx
mov ecx, dword [ebp + 0xc]
sar edx, 1
sub eax, edx
mov edx, dword [ebx]
sub eax, 3
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esi + 0x598]
inc eax
add edi, 4
add edx, 8
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jl 0x468369
lea ecx, [esp + 0x2c]
mov byte [esp + 0x138], 1
call fcn.00911ee2
lea ecx, [esp + 0x28]
mov byte [esp + 0x138], 0
call fcn.00911ee2
lea ecx, [esp + 0xc]
mov dword [esp + 0x138], 0xffffffff
call fcn.00911ee2
mov ecx, dword [esp + 0x130]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10