Function at 0x428fa0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push esi
mov esi, ecx
mov ecx, dword [esi + 0x21c]
test ecx, ecx
jle 0x42a202
mov eax, dword [esi + 0x220]
push ebx
mov dword [ebp - 0x20], eax
sub eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [0x4ac200]
fild dword [ebp - 4]
push edi
mov dword [ebp - 0xa8], eax
fidiv dword [ebp - 0x20]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fmul dword [0x4ac50c]
fstp dword [ebp - 0x68]
fld dword [ebp - 0x18]
fmul dword [0x4ac508]
fsin
fmul dword [0x4ac504]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp dword [ebp - 0x5c]
fld dword [ebp - 0x18]
fmul dword [0x4ac500]
movsx ecx, word [esi + 0x1b0]
fst dword [ebp - 0x18]
fadd dword [0x4ac508]
mov dword [ebp - 4], ecx
fsin
fimul dword [ebp - 4]
fmul dword [0x4aba5c]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp dword [ebp - 0x20]
fld dword [ebp - 0x18]
fsin
movsx eax, word [esi + 0x1b2]
mov dword [ebp - 4], eax
mov dx, word [esi + 0x1b0]
sub dx, word [ebp - 0x20]
mov word [ebp - 0x80], dx
fimul dword [ebp - 4]
fmul dword [0x4aba5c]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fistp dword [ebp - 0x20]
mov dl, byte [ebp - 0x5c]
mov cx, word [esi + 0x1b2]
sub cx, word [ebp - 0x20]
or al, 0xff
sub al, dl
mov edx, dword [esi + 0x19c]
mov byte [esi + 0x29], al
mov byte [esi + 0x25], al
mov byte [esi + 0x21], al
mov byte [esi + 0x1d], al
mov eax, dword [esi + 0x1a0]
mov ebx, dword [esi + 0x1f0]
mov word [ebp - 0x7e], cx
mov ecx, dword [esi + 0x1ec]
sar eax, 0xa
add ax, word [esi + 0x1ae]
mov edi, dword [ecx + 4]
sar edx, 0xa
add dx, word [esi + 0x1ac]
mov word [ebp - 0x76], ax
mov eax, dword [esi + 0x10]
sar ebx, 0xa
test edi, edi
mov word [ebp - 0x78], dx
je 0x4298af
mov edx, dword [edi + 0xe4]
xor ecx, ecx
test edx, edx
setne cl
test ecx, ecx
je 0x4298af
mov edx, dword [ebp + 0xc]
movsx ecx, word [edx]
movsx edx, word [eax + 0x18]
imul edx, ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x78]
sar edx, 0xa
sub ecx, edx
movsx edx, word [eax + 0x1a]
add ecx, 0x190
mov word [ebp - 0x10], cx
mov ecx, dword [ebp + 0xc]
movsx ecx, word [ecx + 2]
imul edx, ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x76]
sar edx, 0xa
sub ecx, edx
mov edx, dword [ebp - 0x78]
add ecx, 0x12c
mov word [ebp - 0xe], cx
mov ecx, dword [ebp - 0x80]
add edx, ecx
mov ecx, dword [ebp - 0x7e]
mov word [ebp - 0x64], dx
mov edx, dword [ebp - 0x76]
add edx, ecx
mov word [ebp - 0x62], dx
mov ecx, dword [ebp - 0x64]
movsx edx, word [eax + 0x18]
imul edx, dword [ebp - 0x14]
sar edx, 0xa
sub ecx, edx
movsx edx, word [eax + 0x1a]
imul edx, dword [ebp - 0x1c]
add ecx, 0x190
mov word [ebp - 8], cx
mov ecx, dword [ebp - 0x62]
sar edx, 0xa
sub ecx, edx
add ecx, 0x12c
mov word [ebp - 6], cx
mov cx, word [ebp - 0x10]
mov dx, word [ebp - 6]
sub word [ebp - 8], cx
sub dx, word [ebp - 0xe]
mov cx, word [eax + 0xe]
test cx, cx
mov word [ebp - 6], dx
je 0x429544
movsx edx, cx
mov dword [ebp - 4], edx
fild dword [ebp - 4]
fmul dword [0x4aa634]
fmul dword [0x4aa630]
call fcn.0047e340
and eax, 0x3ff
push 0x3f800000
shl eax, 2
push 0
push 0
mov ecx, dword [eax + 0x4d0fac]
mov edx, dword [eax + 0x4d1fac]
movsx eax, word [ebp - 6]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cdq
sub eax, edx
mov ecx, eax
movsx eax, word [ebp - 8]
cdq
sub eax, edx
movsx edx, word [ebp - 0xe]
sar ecx, 1
add edx, ecx
push ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x50], ecx
fild dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
movsx edx, word [ebp - 0x10]
fstp dword [esp]
fld dword [ebp - 0x18]
push ecx
push ecx
sar eax, 1
fchs
fstp dword [esp]
add edx, eax
push ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x28], eax
fild dword [ebp - 4]
mov eax, dword [ebp - 0x18]
fstp dword [esp]
push eax
push ecx
lea ecx, [ebp - 0xa4]
call fcn.0040d6b0
push fcn.00403120
push 4
lea ecx, [ebp - 0x48]
push 8
push ecx
call fcn.00401c70
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x48]
neg eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x50]
fild dword [ebp - 4]
neg eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x58]
fst dword [ebp - 0x18]
fstp dword [ebp - 0x58]
fild dword [ebp - 4]
push edx
push eax
lea ecx, [ebp - 0xa4]
fst dword [ebp - 4]
fstp dword [ebp - 0x54]
call fcn.0042a230
fild dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x54], ecx
fst dword [ebp - 0x20]
fstp dword [ebp - 0x58]
lea edx, [ebp - 0x40]
lea eax, [ebp - 0x58]
push edx
push eax
lea ecx, [ebp - 0xa4]
call fcn.0042a230
fild dword [ebp - 0x50]
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x38]
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], ecx
fst dword [ebp - 4]
fstp dword [ebp - 0x54]
push edx
push eax
lea ecx, [ebp - 0xa4]
call fcn.0042a230
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 4]
mov dword [ebp - 0x58], ecx
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x58]
push eax
push ecx
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x54], edx
call fcn.0042a230
mov ax, word [esi + 0x18]
test al, 2
je 0x429418
test al, 1
je 0x42937e
movsx edx, word [edi + 2]
movsx eax, word [edi]
mov dword [ebp - 4], edx
mov ecx, dword [esi + 0x2a]
fild dword [ebp - 4]
mov edx, dword [esi + 0x2e]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x32]
push ebx
fsub dword [0x4ac1dc]
push ecx
mov ecx, dword [esi + 0x36]
push edx
mov edx, dword [esi + 0x1a]
push eax
mov eax, dword [esi + 0x1e]
fstp dword [ebp - 0x10]
fild dword [ebp - 4]
push ecx
mov ecx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x26]
fsub dword [0x4ac1dc]
push eax
mov eax, dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x10]
push edx
push ecx
fstp dword [ebp - 8]
push eax
push ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x3c]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x48]
push eax
push eax
mov eax, dword [ebp - 0x44]
push edi
push eax
mov eax, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x34]
push edx
mov edx, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
push edx
push eax
push ecx
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0x24]
call fcn.0040ddc0
mov edx, dword [eax]
push edx
call fcn.004503a0
add esp, 0x6c
jmp 0x4298af
movsx eax, word [edi + 2]
movsx ecx, word [edi]
mov dword [ebp - 4], eax
mov edx, dword [esi + 0x2e]
fild dword [ebp - 4]
mov eax, dword [esi + 0x2a]
mov dword [ebp - 4], ecx
mov ecx, dword [esi + 0x36]
push ebx
fsub dword [0x4ac1dc]
push edx
mov edx, dword [esi + 0x32]
push eax
mov eax, dword [esi + 0x1e]
push ecx
mov ecx, dword [esi + 0x1a]
fstp dword [ebp - 0x10]
fild dword [ebp - 4]
push edx
mov edx, dword [esi + 0x26]
push eax
mov eax, dword [esi + 0x22]
fsub dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x10]
push edx
push eax
mov eax, dword [0x4ac1dc]
push ecx
fstp dword [ebp - 8]
push eax
push ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x40]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x3c]
push eax
push eax
mov eax, dword [ebp - 0x44]
push edi
push ecx
mov ecx, dword [ebp - 0x48]
push edx
mov edx, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x34]
push edx
mov edx, dword [ebp - 0x38]
push eax
push ecx
push edx
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0x24]
call fcn.0040ddc0
mov eax, dword [eax]
push eax
call fcn.004503a0
add esp, 0x6c
jmp 0x4298af
test al, 1
je 0x4294ba
movsx ecx, word [edi + 2]
movsx edx, word [edi]
mov eax, dword [esi + 0x32]
mov dword [ebp - 4], ecx
fild dword [ebp - 4]
mov ecx, dword [esi + 0x36]
mov dword [ebp - 4], edx
mov edx, dword [esi + 0x2a]
push ebx
fsub dword [0x4ac1dc]
push eax
mov eax, dword [esi + 0x2e]
push ecx
mov ecx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x26]
fstp dword [ebp - 0x10]
fild dword [ebp - 4]
push eax
mov eax, dword [esi + 0x1a]
push ecx
mov ecx, dword [esi + 0x1e]
fsub dword [0x4ac1dc]
push edx
push eax
mov eax, dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x34]
fstp dword [ebp - 8]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 8]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x2c]
push eax
push eax
mov eax, dword [ebp - 0x38]
push edi
push edx
mov edx, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push edx
mov edx, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x40]
push ecx
push edx
push eax
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0x24]
call fcn.0040ddc0
mov ecx, dword [eax]
push ecx
call fcn.004503a0
add esp, 0x6c
jmp 0x4298af
movsx edx, word [edi + 2]
movsx eax, word [edi]
mov dword [ebp - 4], edx
mov ecx, dword [esi + 0x36]
fild dword [ebp - 4]
mov edx, dword [esi + 0x32]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x2e]
push ebx
fsub dword [0x4ac1dc]
push ecx
mov ecx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push eax
mov eax, dword [esi + 0x22]
fstp dword [ebp - 0x10]
fild dword [ebp - 4]
push ecx
mov ecx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
fsub dword [0x4ac1dc]
push eax
mov eax, dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x10]
push edx
push ecx
fstp dword [ebp - 8]
push eax
push ecx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x30]
push eax
push eax
mov eax, dword [ebp - 0x2c]
push edi
push eax
mov eax, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x3c]
push edx
mov edx, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push edx
push eax
push ecx
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0x24]
jmp 0x429369
mov cx, word [eax + 6]
mov dword [ebp - 4], ecx
test cl, 0x10
mov ecx, dword [eax + 0x14]
je 0x429655
test ecx, ecx
je 0x4295e5
mov cx, word [esi + 0x18]
test cl, 2
movsx edx, dx
je 0x42956d
neg edx
test cl, 1
movsx ecx, word [ebp - 8]
je 0x429578
neg ecx
push ebx
mov ebx, dword [esi + 0x36]
push ebx
mov ebx, dword [esi + 0x32]
push ebx
mov ebx, dword [esi + 0x2e]
push ebx
mov ebx, dword [esi + 0x2a]
push ebx
mov ebx, dword [esi + 0x26]
push ebx
mov ebx, dword [esi + 0x22]
push ebx
mov ebx, dword [esi + 0x1e]
push ebx
mov ebx, dword [esi + 0x1a]
push ebx
mov ebx, dword [esi + 0x48]
push ebx
mov ebx, dword [esi + 0x44]
mov eax, dword [eax + 0x14]
push ebx
mov ebx, dword [esi + 0x40]
push ebx
mov ebx, dword [esi + 0x3c]
push ebx
push eax
movsx eax, word [edi + 2]
push eax
movsx eax, word [edi]
push eax
mov eax, dword [ebp + 8]
push 0
push 0
push edi
push edx
movsx edx, word [ebp - 0xe]
push ecx
movsx ecx, word [eax + 2]
movsx eax, word [eax]
add ecx, edx
push ecx
movsx ecx, word [ebp - 0x10]
add eax, ecx
lea ecx, [ebp - 0x24]
push eax
push 0x1f
push 4
push 4
push 4
jmp 0x429799
mov ax, word [esi + 0x18]
test al, 2
movsx ecx, dx
je 0x4295f2
neg ecx
test al, 1
movsx eax, word [ebp - 8]
je 0x4295fc
neg eax
mov edx, dword [esi + 0x36]
push ebx
push edx
mov edx, dword [esi + 0x32]
push edx
mov edx, dword [esi + 0x2e]
push edx
mov edx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
push edx
movsx edx, word [edi + 2]
push edx
movsx edx, word [edi]
push edx
push 0
movsx edx, word [ebp - 0xe]
push 0
push edi
push ecx
push eax
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 2]
movsx eax, word [eax]
add ecx, edx
push ecx
movsx ecx, word [ebp - 0x10]
add eax, ecx
lea ecx, [ebp - 0x24]
push eax
push 0x1f
push 1
push 4
push 4
jmp 0x42989f
test ecx, ecx
mov dword [ebp - 0x14], ecx
je 0x429834
mov ecx, dword [ebp - 4]
test ch, 2
je 0x4297ae
mov eax, dword [ebp - 0x14]
push eax
call fcn.004518a0
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x51eb851f
mul dword [0x52ab34]
mov eax, edx
xor edx, edx
sar ecx, 5
shr eax, 5
div ecx
mov dword [ebp - 4], edx
mov edx, dword [esi + 0x10]
mov eax, dword [edx + 0x14]
push eax
call fcn.004518b0
cdq
fild dword [ebp - 4]
and edx, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x51eb851f
mul dword [0x52ab34]
fmul dword [0x4aa62c]
fstp dword [ebp - 0x20]
mov eax, edx
xor edx, edx
sar ecx, 5
shr eax, 5
div ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0x14]
push eax
call fcn.004518a0
mov dword [ebp - 4], eax
mov ecx, dword [esi + 0x10]
fild dword [ebp - 4]
mov edx, dword [ecx + 0x14]
push edx
fdivr dword [ebp - 0x20]
fadd dword [esi + 0x3c]
fstp dword [ebp - 0x28]
fild dword [ebp - 0x18]
fmul dword [0x4aa62c]
fstp dword [ebp - 0x20]
call fcn.004518b0
mov dword [ebp - 4], eax
mov ax, word [esi + 0x18]
fild dword [ebp - 4]
movsx ecx, word [ebp - 6]
fdivr dword [ebp - 0x20]
add esp, 0x10
test al, 2
fadd dword [esi + 0x40]
fstp dword [ebp - 4]
je 0x429724
neg ecx
test al, 1
movsx eax, word [ebp - 8]
je 0x42972e
neg eax
mov edx, dword [esi + 0x36]
push ebx
push edx
mov edx, dword [esi + 0x32]
push edx
mov edx, dword [esi + 0x2e]
push edx
mov edx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
push edx
mov edx, dword [esi + 0x48]
push edx
mov edx, dword [esi + 0x44]
push edx
mov edx, dword [ebp - 4]
push edx
mov edx, dword [ebp - 0x28]
push edx
mov edx, dword [esi + 0x10]
mov edx, dword [edx + 0x14]
push edx
movsx edx, word [edi + 2]
push edx
movsx edx, word [edi]
push edx
push 0
movsx edx, word [ebp - 0xe]
push 0
push edi
push ecx
push eax
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 2]
movsx eax, word [eax]
add ecx, edx
push ecx
movsx ecx, word [ebp - 0x10]
add eax, ecx
lea ecx, [ebp - 0x24]
push eax
push 0x1e
push 7
push 4
push 4
call fcn.0040ddc0
mov edx, dword [eax]
push edx
call fcn.0044df10
add esp, 0x60
jmp 0x4298af
mov cx, word [esi + 0x18]
test cl, 2
movsx edx, dx
je 0x4297bc
neg edx
test cl, 1
movsx ecx, word [ebp - 8]
je 0x4297c7
neg ecx
push ebx
mov ebx, dword [esi + 0x36]
push ebx
mov ebx, dword [esi + 0x32]
push ebx
mov ebx, dword [esi + 0x2e]
push ebx
mov ebx, dword [esi + 0x2a]
push ebx
mov ebx, dword [esi + 0x26]
push ebx
mov ebx, dword [esi + 0x22]
push ebx
mov ebx, dword [esi + 0x1e]
push ebx
mov ebx, dword [esi + 0x1a]
push ebx
mov ebx, dword [esi + 0x48]
push ebx
mov ebx, dword [esi + 0x44]
mov eax, dword [eax + 0x14]
push ebx
mov ebx, dword [esi + 0x40]
push ebx
mov ebx, dword [esi + 0x3c]
push ebx
push eax
movsx eax, word [edi + 2]
push eax
movsx eax, word [edi]
push eax
mov eax, dword [ebp + 8]
push 0
push 0
push edi
push edx
movsx edx, word [ebp - 0xe]
push ecx
movsx ecx, word [eax + 2]
movsx eax, word [eax]
add ecx, edx
push ecx
movsx ecx, word [ebp - 0x10]
add eax, ecx
lea ecx, [ebp - 0x24]
push eax
push 0x1e
push 4
push 4
push 4
jmp 0x429799
mov ax, word [esi + 0x18]
test al, 2
movsx ecx, dx
je 0x429841
neg ecx
test al, 1
movsx eax, word [ebp - 8]
je 0x42984b
neg eax
mov edx, dword [esi + 0x36]
push ebx
push edx
mov edx, dword [esi + 0x32]
push edx
mov edx, dword [esi + 0x2e]
push edx
mov edx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
push edx
movsx edx, word [edi + 2]
push edx
movsx edx, word [edi]
push edx
push 0
movsx edx, word [ebp - 0xe]
push 0
push edi
push ecx
push eax
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 2]
movsx eax, word [eax]
add ecx, edx
push ecx
movsx ecx, word [ebp - 0x10]
add eax, ecx
lea ecx, [ebp - 0x24]
push eax
push 0x1e
push 1
push 4
push 4
call fcn.0040ddc0
mov edx, dword [eax]
push edx
call fcn.0044a140
add esp, 0x4c
mov al, byte [ebp - 0x5c]
mov dword [ebp - 4], 5
mov byte [esi + 0x29], al
mov byte [esi + 0x25], al
mov byte [esi + 0x21], al
mov byte [esi + 0x1d], al
fld dword [ebp - 0x68]
fsin
fmul dword [ebp - 0xa8]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp dword [ebp - 0xb0]
fld dword [ebp - 0x68]
fcos
fmul dword [ebp - 0xa8]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fistp dword [ebp - 0xac]
mov eax, dword [esi + 0x19c]
mov edx, dword [ebp - 0xac]
mov ecx, dword [esi + 0x1a0]
mov ebx, dword [ebp - 0xb0]
sar eax, 0xa
add eax, edx
mov edx, dword [esi + 0x1ec]
add ax, word [esi + 0x1ac]
mov edi, dword [edx + 4]
sar ecx, 0xa
mov word [ebp - 0x64], ax
mov eax, dword [esi + 0x1f0]
add ecx, ebx
add cx, word [esi + 0x1ae]
sar eax, 0xa
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x10]
test edi, edi
mov word [ebp - 0x62], cx
je 0x42a1e4
mov ebx, dword [edi + 0xe4]
xor ecx, ecx
test ebx, ebx
setne cl
test ecx, ecx
je 0x42a1e4
mov edx, dword [ebp + 0xc]
movsx ebx, word [eax + 0x18]
movsx ecx, word [edx]
imul ebx, ecx
sar ebx, 0xa
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x1c]
sub ebx, ecx
movsx ecx, word [edx + 2]
movsx edx, word [eax + 0x1a]
imul edx, ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x62]
sar edx, 0xa
sub ecx, edx
mov edx, dword [ebp - 0x64]
add ecx, 0x12c
add ebx, 0x190
mov word [ebp - 0x4a], cx
mov ecx, dword [ebp - 0x80]
add edx, ecx
mov ecx, dword [ebp - 0x7e]
mov word [ebp - 0x58], dx
mov edx, dword [ebp - 0x62]
add edx, ecx
mov word [ebp - 0x56], dx
mov ecx, dword [ebp - 0x58]
movsx edx, word [eax + 0x18]
imul edx, dword [ebp - 0x14]
sar edx, 0xa
sub ecx, edx
movsx edx, word [eax + 0x1a]
imul edx, dword [ebp - 0x1c]
add ecx, 0x190
mov word [ebp - 8], cx
mov ecx, dword [ebp - 0x56]
sub word [ebp - 8], bx
sar edx, 0xa
sub ecx, edx
mov dx, word [eax + 0xe]
add ecx, 0x12c
sub cx, word [ebp - 0x4a]
test dx, dx
mov word [ebp - 6], cx
je 0x429e57
movsx eax, dx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fmul dword [0x4aa634]
fmul dword [0x4aa630]
call fcn.0047e340
and eax, 0x3ff
push 0x3f800000
shl eax, 2
push 0
push 0
mov ecx, dword [eax + 0x4d0fac]
mov edx, dword [eax + 0x4d1fac]
movsx eax, word [ebp - 6]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0xb4], ecx
cdq
sub eax, edx
mov ecx, eax
movsx eax, word [ebp - 8]
cdq
sub eax, edx
movsx edx, word [ebp - 0x4a]
sar ecx, 1
add edx, ecx
push ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], ecx
fild dword [ebp - 0xc]
mov ecx, dword [ebp - 0xb4]
movsx edx, bx
fstp dword [esp]
fld dword [ebp - 0x20]
sar eax, 1
push ecx
push ecx
fchs
fstp dword [esp]
add edx, eax
push ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x14], eax
fild dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
fstp dword [esp]
push eax
push ecx
lea ecx, [ebp - 0xa4]
call fcn.0040d6b0
mov eax, dword [ebp - 0x14]
neg eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
fild dword [ebp - 0xc]
neg eax
mov dword [ebp - 0xc], eax
fst dword [ebp - 0xbc]
fild dword [ebp - 0xc]
fld st(0)
fld dword [ebp - 0xa4]
fmul dword [ebp - 0xbc]
fld dword [ebp - 0xa0]
fmul st(2)
faddp st(1)
fadd dword [ebp - 0x9c]
fstp dword [ebp - 0x48]
fld dword [ebp - 0xbc]
fmul dword [ebp - 0x98]
fxch st(1)
fmul dword [ebp - 0x94]
faddp st(1)
fadd dword [ebp - 0x90]
fstp dword [ebp - 0x44]
fild dword [ebp - 0x14]
fst dword [ebp - 0xc]
fstp dword [ebp - 0xc4]
fld dword [ebp - 0xa4]
fmul dword [ebp - 0xc4]
fld dword [ebp - 0xa0]
fmul st(2)
mov ax, word [esi + 0x18]
test al, 2
faddp st(1)
fadd dword [ebp - 0x9c]
fstp dword [ebp - 0x40]
fld dword [ebp - 0x98]
fmul dword [ebp - 0xc4]
fxch st(1)
fmul dword [ebp - 0x94]
faddp st(1)
fadd dword [ebp - 0x90]
fstp dword [ebp - 0x3c]
fld dword [ebp - 0xc]
fild dword [ebp - 0x1c]
fst dword [ebp - 0xc]
fld dword [ebp - 0xa4]
fmul st(2)
fld dword [ebp - 0xa0]
fmul st(2)
faddp st(1)
fadd dword [ebp - 0x9c]
fstp dword [ebp - 0x38]
fld dword [ebp - 0x98]
fmul st(2)
fxch st(1)
fmul dword [ebp - 0x94]
faddp st(1)
fadd dword [ebp - 0x90]
fstp dword [ebp - 0x34]
fstp st(0)
fld dword [ebp - 0xc]
fld dword [ebp - 0xa4]
fmul st(2)
fld dword [ebp - 0xa0]
fmul st(2)
faddp st(1)
fadd dword [ebp - 0x9c]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x98]
fmul st(2)
fxch st(1)
fmul dword [ebp - 0x94]
faddp st(1)
fadd dword [ebp - 0x90]
fstp dword [ebp - 0x2c]
fstp st(0)
je 0x429d12
test al, 1
je 0x429c72
movsx ecx, word [edi + 2]
movsx edx, word [edi]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x10]
fild dword [ebp - 0xc]
mov ecx, dword [esi + 0x2a]
mov dword [ebp - 0xc], edx
mov edx, dword [esi + 0x2e]
push eax
fsub dword [0x4ac1dc]
mov eax, dword [esi + 0x32]
push ecx
mov ecx, dword [esi + 0x36]
push edx
mov edx, dword [esi + 0x1a]
push eax
fstp dword [ebp - 0x1c]
fild dword [ebp - 0xc]
mov eax, dword [esi + 0x1e]
push ecx
mov ecx, dword [esi + 0x22]
push edx
fsub dword [0x4ac1dc]
mov edx, dword [esi + 0x26]
push eax
mov eax, dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x1c]
push edx
fstp dword [ebp - 0x14]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x48]
push eax
push eax
mov eax, dword [ebp - 0x44]
push edi
push eax
mov eax, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x34]
push edx
mov edx, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 0x6b], 4
mov byte [ebp - 0x6c], 4
mov byte [ebp - 0x6a], 1
mov byte [ebp - 0x69], 0x1e
push edx
mov edx, dword [ebp - 0x6c]
push eax
push ecx
push edx
call fcn.004503a0
add esp, 0x6c
jmp 0x42a1e4
movsx eax, word [edi + 2]
movsx ecx, word [edi]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
mov eax, dword [esi + 0x2e]
mov dword [ebp - 0xc], ecx
mov ecx, dword [esi + 0x2a]
push edx
fsub dword [0x4ac1dc]
mov edx, dword [esi + 0x36]
push eax
mov eax, dword [esi + 0x32]
push ecx
mov ecx, dword [esi + 0x1e]
push edx
fstp dword [ebp - 0x1c]
fild dword [ebp - 0xc]
mov edx, dword [esi + 0x1a]
push eax
mov eax, dword [esi + 0x26]
push ecx
mov ecx, dword [esi + 0x22]
push edx
fsub dword [0x4ac1dc]
push eax
mov eax, dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
fstp dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x14]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x44]
push eax
push eax
mov eax, dword [ebp - 0x40]
push edi
push edx
mov edx, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x38]
push ecx
push edx
push eax
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0xcc]
call fcn.0040ddc0
mov ecx, dword [eax]
push ecx
call fcn.004503a0
add esp, 0x6c
jmp 0x42a1e4
test al, 1
je 0x429dba
movsx edx, word [edi + 2]
movsx eax, word [edi]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0x10]
fild dword [ebp - 0xc]
mov edx, dword [esi + 0x32]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x36]
push ecx
fsub dword [0x4ac1dc]
mov ecx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x2e]
push eax
mov eax, dword [esi + 0x22]
push ecx
fstp dword [ebp - 0x1c]
fild dword [ebp - 0xc]
mov ecx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x1a]
push eax
mov eax, dword [esi + 0x1e]
push ecx
fsub dword [0x4ac1dc]
mov ecx, dword [ebp - 0x1c]
push edx
push eax
mov eax, dword [0x4ac1dc]
push ecx
push eax
fstp dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x34]
push eax
push eax
mov eax, dword [ebp - 0x2c]
push edi
push ecx
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x3c]
push edx
mov edx, dword [ebp - 0x40]
push eax
push ecx
push edx
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0xc8]
call fcn.0040ddc0
mov eax, dword [eax]
push eax
call fcn.004503a0
add esp, 0x6c
jmp 0x42a1e4
movsx ecx, word [edi + 2]
movsx edx, word [edi]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x10]
fild dword [ebp - 0xc]
mov ecx, dword [esi + 0x36]
mov dword [ebp - 0xc], edx
mov edx, dword [esi + 0x32]
push eax
fsub dword [0x4ac1dc]
mov eax, dword [esi + 0x2e]
push ecx
mov ecx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push eax
fstp dword [ebp - 0x1c]
fild dword [ebp - 0xc]
mov eax, dword [esi + 0x22]
push ecx
mov ecx, dword [esi + 0x1e]
push edx
fsub dword [0x4ac1dc]
mov edx, dword [esi + 0x1a]
push eax
mov eax, dword [0x4ac1dc]
push ecx
mov ecx, dword [ebp - 0x1c]
push edx
fstp dword [ebp - 0x14]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x30]
push eax
push eax
mov eax, dword [ebp - 0x2c]
push edi
push eax
mov eax, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x3c]
push edx
mov edx, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x48]
push edx
push eax
push ecx
push 0x1e
push 1
push 4
push 4
lea ecx, [ebp - 0x78]
call fcn.0040ddc0
mov edx, dword [eax]
push edx
call fcn.004503a0
add esp, 0x6c
jmp 0x42a1e4
mov dx, word [eax + 6]
mov eax, dword [eax + 0x14]
test dl, 0x10
mov dword [ebp - 0x14], eax
je 0x429f7f
test eax, eax
mov ax, word [esi + 0x18]
je 0x429f09
test al, 2
movsx edx, cx
je 0x429e7f
neg edx
movsx ecx, word [ebp - 8]
test al, 1
je 0x429e89
neg ecx
mov eax, dword [ebp - 0x10]
mov byte [ebp - 0x6f], 4
push eax
mov eax, dword [esi + 0x36]
push eax
mov eax, dword [esi + 0x32]
push eax
mov eax, dword [esi + 0x2e]
push eax
mov eax, dword [esi + 0x2a]
push eax
mov eax, dword [esi + 0x26]
push eax
mov eax, dword [esi + 0x22]
push eax
mov eax, dword [esi + 0x1e]
push eax
mov eax, dword [esi + 0x1a]
push eax
mov eax, dword [esi + 0x48]
push eax
mov eax, dword [esi + 0x44]
push eax
mov eax, dword [esi + 0x40]
push eax
mov eax, dword [esi + 0x3c]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov byte [ebp - 0x70], 4
movsx eax, word [edi + 2]
push eax
mov byte [ebp - 0x6e], 4
movsx eax, word [edi]
push eax
mov eax, dword [ebp + 8]
push 0
push 0
push edi
push edx
movsx edx, word [ebp - 0x4a]
push ecx
mov byte [ebp - 0x6d], 0x1f
movsx ecx, word [eax + 2]
add ecx, edx
movsx edx, word [eax]
mov eax, dword [ebp - 0x70]
push ecx
movsx ecx, bx
add ecx, edx
push ecx
push eax
call fcn.0044df10
add esp, 0x60
jmp 0x42a1e4
test al, 2
movsx ecx, cx
je 0x429f12
neg ecx
test al, 1
movsx eax, word [ebp - 8]
je 0x429f1c
neg eax
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x5b], 4
push edx
mov edx, dword [esi + 0x36]
push edx
mov edx, dword [esi + 0x32]
push edx
mov edx, dword [esi + 0x2e]
push edx
mov edx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
push edx
mov byte [ebp - 0x5c], 4
movsx edx, word [edi + 2]
push edx
mov byte [ebp - 0x5a], 1
movsx edx, word [edi]
push edx
push 0
movsx edx, word [ebp - 0x4a]
push 0
push edi
push ecx
push eax
mov eax, dword [ebp + 8]
mov byte [ebp - 0x59], 0x1f
movsx ecx, word [eax + 2]
add ecx, edx
movsx edx, word [eax]
mov eax, dword [ebp - 0x5c]
push ecx
movsx ecx, bx
add ecx, edx
push ecx
jmp 0x42a1db
test eax, eax
je 0x42a166
test dh, 2
je 0x42a0d2
push eax
call fcn.004518a0
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x51eb851f
mul dword [0x52ab34]
mov eax, edx
xor edx, edx
sar ecx, 5
shr eax, 5
div ecx
mov dword [ebp - 0xc], edx
mov edx, dword [esi + 0x10]
mov eax, dword [edx + 0x14]
push eax
call fcn.004518b0
cdq
fild dword [ebp - 0xc]
and edx, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x51eb851f
mul dword [0x52ab34]
fmul dword [0x4aa62c]
fstp dword [ebp - 0x14]
mov eax, edx
xor edx, edx
sar ecx, 5
shr eax, 5
div ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 0x14]
push eax
call fcn.004518a0
mov dword [ebp - 0xc], eax
mov ecx, dword [esi + 0x10]
fild dword [ebp - 0xc]
mov edx, dword [ecx + 0x14]
push edx
fdivr dword [ebp - 0x14]
fadd dword [esi + 0x3c]
fstp dword [ebp - 0x24]
fild dword [ebp - 0x1c]
fmul dword [0x4aa62c]
fstp dword [ebp - 0x14]
call fcn.004518b0
mov dword [ebp - 0xc], eax
mov ax, word [esi + 0x18]
fild dword [ebp - 0xc]
movsx ecx, word [ebp - 6]
fdivr dword [ebp - 0x14]
add esp, 0x10
test al, 2
fadd dword [esi + 0x40]
fstp dword [ebp - 0xc]
je 0x42a045
neg ecx
test al, 1
movsx eax, word [ebp - 8]
je 0x42a04f
neg eax
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x4f], 4
push edx
mov edx, dword [esi + 0x36]
push edx
mov edx, dword [esi + 0x32]
push edx
mov edx, dword [esi + 0x2e]
push edx
mov edx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
push edx
mov edx, dword [esi + 0x48]
push edx
mov edx, dword [esi + 0x44]
push edx
mov edx, dword [ebp - 0xc]
push edx
mov edx, dword [ebp - 0x24]
push edx
mov edx, dword [esi + 0x10]
mov byte [ebp - 0x50], 4
mov byte [ebp - 0x4e], 7
mov edx, dword [edx + 0x14]
mov byte [ebp - 0x4d], 0x1e
push edx
movsx edx, word [edi + 2]
push edx
movsx edx, word [edi]
push edx
push 0
movsx edx, word [ebp - 0x4a]
push 0
push edi
push ecx
push eax
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 2]
add ecx, edx
movsx edx, word [eax]
mov eax, dword [ebp - 0x50]
push ecx
movsx ecx, bx
add ecx, edx
push ecx
push eax
call fcn.0044df10
add esp, 0x60
jmp 0x42a1e4
mov ax, word [esi + 0x18]
test al, 2
movsx edx, cx
je 0x42a0df
neg edx
movsx ecx, word [ebp - 8]
test al, 1
je 0x42a0e9
neg ecx
mov eax, dword [ebp - 0x10]
mov byte [ebp - 0x27], 4
push eax
mov eax, dword [esi + 0x36]
push eax
mov eax, dword [esi + 0x32]
push eax
mov eax, dword [esi + 0x2e]
push eax
mov eax, dword [esi + 0x2a]
push eax
mov eax, dword [esi + 0x26]
push eax
mov eax, dword [esi + 0x22]
push eax
mov eax, dword [esi + 0x1e]
push eax
mov eax, dword [esi + 0x1a]
push eax
mov eax, dword [esi + 0x48]
push eax
mov eax, dword [esi + 0x44]
push eax
mov eax, dword [esi + 0x40]
push eax
mov eax, dword [esi + 0x3c]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov byte [ebp - 0x28], 4
movsx eax, word [edi + 2]
push eax
mov byte [ebp - 0x26], 4
movsx eax, word [edi]
push eax
mov eax, dword [ebp + 8]
push 0
push 0
push edi
push edx
movsx edx, word [ebp - 0x4a]
push ecx
mov byte [ebp - 0x25], 0x1e
movsx ecx, word [eax + 2]
add ecx, edx
movsx edx, word [eax]
mov eax, dword [ebp - 0x28]
push ecx
movsx ecx, bx
add ecx, edx
push ecx
push eax
call fcn.0044df10
add esp, 0x60
jmp 0x42a1e4
mov ax, word [esi + 0x18]
test al, 2
movsx ecx, cx
je 0x42a173
neg ecx
test al, 1
movsx eax, word [ebp - 8]
je 0x42a17d
neg eax
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x17], 4
push edx
mov edx, dword [esi + 0x36]
push edx
mov edx, dword [esi + 0x32]
push edx
mov edx, dword [esi + 0x2e]
push edx
mov edx, dword [esi + 0x2a]
push edx
mov edx, dword [esi + 0x26]
push edx
mov edx, dword [esi + 0x22]
push edx
mov edx, dword [esi + 0x1e]
push edx
mov edx, dword [esi + 0x1a]
push edx
mov byte [ebp - 0x18], 4
movsx edx, word [edi + 2]
push edx
mov byte [ebp - 0x16], 1
movsx edx, word [edi]
push edx
push 0
movsx edx, word [ebp - 0x4a]
push 0
push edi
push ecx
push eax
mov eax, dword [ebp + 8]
mov byte [ebp - 0x15], 0x1e
movsx ecx, word [eax + 2]
add ecx, edx
movsx edx, word [eax]
mov eax, dword [ebp - 0x18]
push ecx
movsx ecx, bx
add ecx, edx
push ecx
push eax
call fcn.0044a140
add esp, 0x4c
fld dword [ebp - 0x68]
fadd dword [0x4ac4fc]
dec dword [ebp - 4]
fstp dword [ebp - 0x68]
jne 0x4298c5
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, 0xff
push ecx
push edx
mov ecx, esi
mov byte [esi + 0x29], al
mov byte [esi + 0x25], al
mov byte [esi + 0x21], al
mov byte [esi + 0x1d], al
call fcn.004281a0
pop esi
mov esp, ebp
pop ebp
ret 8