Function at 0x466e00
Capabilities:
Packed with generic packer

Disassembly:
sub esp, 0x1c
push ebx
mov ebx, dword [esp + 0x30]
push ebp
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp + 0x24]
cmp eax, 0xa
push esi
push edi
jne 0x466e82
push 2
push ebp
call fcn.0045ed00
mov ebp, dword [ebp]
cmp byte [ebp + 0x8c5], 0
jne 0x46754c
fldz
mov ecx, dword [0x6a9f00]
mov ebp, dword [ebp + 0x784]
fst dword [esp + 0x34]
fcomp dword [ecx + 0x61c]
fnstsw ax
test ah, 0x44
jnp 0x466e64
fld dword [ecx + 0x61c]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x38]
add esp, 4
fld dword [esp + 0x34]
push ecx
mov eax, 0x1e
fstp dword [esp]
mov ecx, ebp
call fcn.00515020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10
cmp eax, 0x2a
jne 0x466e99
push 2
push ebp
call fcn.0045ed00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10
cmp eax, 0x1d
jne 0x466eaf
mov esi, ebp
call fcn.0045f720
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10
cmp eax, 0x34
mov edi, 8
ja case.0x466ec0.1
movzx ecx, byte [eax + 0x467580]
jmp dword [ecx*4 + 0x467558]
mov dword [esp + 0x10], 0
jmp case.0x466ec0.1
mov dword [esp + 0x10], 1
jmp case.0x466ec0.1
mov dword [esp + 0x10], 2
jmp case.0x466ec0.1
mov dword [esp + 0x10], 0xa
jmp case.0x466ec0.1
mov dword [esp + 0x10], 3
jmp case.0x466ec0.1
mov dword [esp + 0x10], 4
jmp case.0x466ec0.1
mov dword [esp + 0x10], edi
jmp case.0x466ec0.1
mov dword [esp + 0x10], 5
jmp case.0x466ec0.1
mov dword [esp + 0x10], 0xb
cmp eax, 0x22
jne 0x466f2d
cmp ebx, 1
jne 0x466f2d
mov dword [esp + 0x10], 0xc
mov eax, dword [ebp]
fldz
cmp byte [eax + 0x8c5], 0
jne 0x466f84
mov ecx, dword [0x6a9f00]
fst dword [esp + 0x30]
fcomp dword [ecx + 0xa0]
mov esi, dword [eax + 0x784]
fnstsw ax
test ah, 0x44
jnp 0x466f6e
fld dword [ecx + 0xa0]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x34]
add esp, 4
fld dword [esp + 0x30]
push ecx
mov eax, 3
fstp dword [esp]
mov ecx, esi
call fcn.00515020
fldz
mov eax, dword [ebp + 0x24]
cmp eax, 5
je 0x466fb0
cmp eax, 0x2c
je 0x466fb0
cmp eax, edi
fstp st(0)
je 0x466fa1
cmp eax, 0xd
je 0x466fa1
cmp eax, 0x18
jne 0x467007
mov eax, dword [ebp]
mov esi, 0x1d
call fcn.00453630
jmp 0x467007
mov eax, dword [ebp]
cmp byte [eax + 0x8c5], 0
jne 0x467005
mov ecx, dword [0x6a9f00]
fst dword [esp + 0x30]
fcomp dword [ecx + 0x580]
mov esi, dword [eax + 0x784]
fnstsw ax
test ah, 0x44
jnp 0x466fef
fld dword [ecx + 0x580]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x34]
add esp, 4
fld dword [esp + 0x30]
push ecx
mov eax, 0x1b
fstp dword [esp]
mov ecx, esi
call fcn.00515020
jmp 0x467007
fstp st(0)
mov eax, dword [ebp + 0x24]
cmp eax, edi
jne 0x46701f
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 0x28
add esi, 0x28
jmp 0x4671ef
cmp eax, 0x18
jne 0x467035
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 0x2d
add esi, 0x3f
jmp 0x4671ef
cmp eax, 0x20
jne 0x46704b
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 5
sub esi, 0xc
jmp 0x4671ef
cmp eax, 0x27
je 0x4671e3
cmp eax, 0x2c
je 0x4671e3
cmp eax, 0x2b
jne 0x467073
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 0x14
sub esi, 3
jmp 0x4671ef
cmp eax, 0x22
jne 0x4670a8
test ebx, ebx
jne 0x46708d
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 0x13
sub esi, 0x25
jmp 0x4671ef
cmp eax, 0x22
jne 0x4670a8
cmp ebx, 1
jne 0x4670a8
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 0xc
sub esi, 0x38
jmp 0x4671ef
test eax, eax
je 0x4671ba
cmp eax, 5
je 0x4671ba
cmp eax, 7
je 0x4671ba
cmp eax, 0x34
jne 0x4670f2
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x34]
push eax
mov eax, ebp
call fcn.00465380
mov edi, dword [ebp + 8]
sub edi, dword [esp + 0x30]
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
add edi, 0x1b
lea esi, [ecx + edx - 0x21]
jmp 0x4671ef
cmp eax, 0x28
jne 0x467123
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x34]
push ecx
mov eax, ebp
call fcn.00465380
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0xc]
lea edi, [edx + eax + 0x22]
mov edx, dword [esp + 0x14]
lea esi, [ecx + edx - 0x21]
jmp 0x4671ef
cmp eax, 0x1c
jne 0x467169
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x34]
push ecx
mov eax, ebp
call fcn.00465380
cmp ebx, 1
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
lea esi, [edx + eax - 0x21]
jne 0x467159
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x30]
lea edi, [ecx + edx - 0x40]
jmp 0x4671ef
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x30]
lea edi, [eax + ecx + 0x18]
jmp 0x4671ef
cmp eax, 0x12
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jne 0x46717c
add esi, 0xa
add edi, 0x2d
jmp 0x4671ef
cmp eax, 0xd
jne 0x467189
add edi, 0x1d
add esi, 0x15
jmp 0x4671ef
cmp eax, 0x1a
jne 0x4671a2
test ebx, ebx
jne 0x46719a
add edi, 0x5d
sub esi, 0x32
jmp 0x4671ef
add edi, 0x46
add esi, 0x17
jmp 0x4671ef
cmp eax, 0x2f
jne 0x4671b2
sub edi, 0x2c
sub esi, 0xb8
jmp 0x4671ef
add edi, 0xa
add esi, 5
jmp 0x4671ef
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x34]
push eax
mov eax, ebp
call fcn.00465380
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0xc]
lea edi, [ecx + edx + 0x18]
mov ecx, dword [esp + 0x14]
lea esi, [eax + ecx - 0x21]
jmp 0x4671ef
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
add edi, 0x19
sub esi, 0x2e
mov edx, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x34], edi
call fcn.0040d220
test eax, eax
je 0x467209
sub esi, 5
mov eax, dword [ebp + 0x24]
cmp eax, 5
jne 0x467235
lea eax, [esi + 0xd]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
sub esp, 8
lea edx, [edi + 8]
fstp dword [esp + 4]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov eax, 0x2c
jmp 0x467280
cmp eax, 8
jne 0x467259
lea eax, [esi + 0xd]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
sub esp, 8
lea edx, [edi + 0x12]
fstp dword [esp + 4]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jmp 0x46727b
cmp eax, 0xd
jne 0x46729a
lea eax, [esi + 0xd]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
sub esp, 8
lea edx, [edi + 0x1b]
fstp dword [esp + 4]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov eax, 0x33
mov ecx, dword [ebp + 0x1c]
fstp dword [esp]
mov edx, dword [ebp]
imul ecx, ecx, 0x2710
add ecx, 0x4ab51
call fcn.00453c80
jmp loc.007b0486
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10