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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x77e78b
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
push ebx
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0x1b8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x38], ebx
mov edi, dword [ebp + 8]
push edi
call fcn.00430aa0
mov ecx, dword [ebx + 0x104]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2b0]
call edx
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
sub eax, 8
imul ecx, eax
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [ebx + 0x104]
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x2ac]
call eax
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
sub eax, 8
imul ecx, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
push esi
add eax, edx
push eax
mov eax, edi
call fcn.004329c0
mov eax, 0x88ba50
mov ecx, edi
call fcn.00430c20
mov eax, edi
call fcn.00430930
mov ebx, dword [0x882788]
push 0
mov dword [esp + 0x18], eax
push 0
mov eax, edi
call fcn.00431710
mov esi, dword [0x88b12c]
mov ecx, dword [esi + 0x9e0]
add ecx, ecx
add ecx, ecx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push eax
mov eax, edi
call fcn.004329c0
mov ecx, dword [0x882788]
mov esi, dword [esi + 0x9e0]
mov eax, dword [0x8825d0]
mov edx, dword [0x880c08]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov ecx, esi
shl ecx, 0xa
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esi*4]
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
lea eax, [esp + 0x90]
mov esi, edi
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ecx
call fcn.00432910
lea ecx, [esp + 0x50]
push ecx
call fcn.00428920
lea edx, [esp + 0xdc]
push edx
mov dword [esp + 0x1c4], 0
call fcn.00427590
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x1c4], 1
call fcn.00428920
xor eax, eax
mov byte [esp + 0x1c0], 2
mov dword [esp + 0x34], eax
test eax, eax
jne 0x6ac2df
cmp byte [edi + 0x74], al
je 0x6ad346
mov ebx, dword [esp + 0x60]
cmp dword [esp + 0x5c], ebx
jbe 0x6ac2ee
call fcn.006441b7
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
cmp edi, dword [esp + 0x60]
jbe 0x6ac301
call fcn.006441b7
mov ecx, dword [esp + 0x50]
push ebx
push esi
push edi
push ecx
lea ebx, [esp + 0x18c]
lea edi, [esp + 0x60]
call fcn.00422e00
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov ebx, eax
cmp ecx, eax
jbe 0x6ac334
call fcn.006441b7
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x68]
mov edi, ecx
cmp ecx, eax
jbe 0x6ac343
call fcn.006441b7
mov edx, dword [esp + 0x68]
push ebx
push esi
push edi
push edx
lea ebx, [esp + 0x14c]
lea esi, [esp + 0x78]
call fcn.00423130
mov edi, dword [esp + 0x38]
lea eax, [edi + 0x118]
mov dword [esp + 0x18], 0
mov dword [esp + 0x3c], eax
jmp 0x6ac380
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x24], 0
mov dword [esp + 0x4c], ebx
mov ecx, ebx
call fcn.00436230
fcomp qword [0x82dc20]
mov esi, dword [esp + 0x34]
fnstsw ax
test ah, 0x44
jp 0x6ac3b6
cmp esi, 2
je 0x6ac3b6
cmp esi, 5
jne 0x6ac7c1
mov ecx, ebx
call fcn.00436230
fstp st(0)
mov ecx, ebx
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jnp 0x6ac3de
cmp esi, 4
je 0x6ac7c1
jmp 0x6ac3e7
cmp esi, 4
je 0x6ac797
test esi, esi
je 0x6ac797
cmp esi, 5
je 0x6ac4ce
cmp esi, 2
je 0x6ac4ce
cmp esi, 3
jne 0x6ac4a3
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
lea ebx, [esp + 0xcc]
lea edi, [esp + 0x50]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
call fcn.00421bf0
mov ecx, dword [esp + 0x4c]
call fcn.00436230
fsubr qword [0x7a8008]
mov edx, dword [esp + 0x74]
fst qword [esp + 0x2c]
test edx, edx
jne 0x6ac44f
xor ecx, ecx
jmp 0x6ac458
mov ecx, dword [esp + 0x7c]
sub ecx, edx
sar ecx, 3
mov eax, dword [esp + 0x78]
mov esi, eax
sub esi, edx
sar esi, 3
cmp esi, ecx
jae 0x6ac475
fstp qword [eax]
add eax, 8
mov dword [esp + 0x78], eax
jmp 0x6ac7bd
fstp st(0)
mov esi, eax
cmp edx, eax
jbe 0x6ac482
call fcn.006441b7
mov eax, dword [esp + 0x68]
push esi
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x170]
push ecx
lea eax, [esp + 0x78]
call fcn.00423090
jmp 0x6ac7bd
cmp esi, 1
jne 0x6ac7c1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], eax
lea ebx, [esp + 0xc4]
jmp 0x6ac7b4
mov ecx, dword [edi + 0x1f24]
sub ecx, dword [edi + 0x1f20]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
xor esi, esi
add ecx, edx
je 0x6ac7c1
xor ebx, ebx
jmp 0x6ac500
mov ecx, dword [edi + 0x1f24]
sub ecx, dword [edi + 0x1f20]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x6ac526
call fcn.006441b7
mov ecx, dword [edi + 0x1f20]
mov edx, dword [esp + 0x18]
cmp dword [ebx + ecx], edx
jne 0x6ac56b
mov ecx, dword [edi + 0x1f24]
sub ecx, dword [edi + 0x1f20]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x6ac55b
call fcn.006441b7
mov ecx, dword [edi + 0x1f20]
mov edx, dword [esp + 0x24]
cmp dword [ecx + ebx + 4], edx
je 0x6ac599
mov ecx, dword [edi + 0x1f24]
sub ecx, dword [edi + 0x1f20]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add ebx, 0x48
cmp esi, eax
jb 0x6ac500
jmp 0x6ac7c1
mov ecx, dword [edi + 0x1f24]
sub ecx, dword [edi + 0x1f20]
mov eax, 0x38e38e39
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jb 0x6ac5bf
call fcn.006441b7
mov eax, dword [edi + 0x1f20]
lea edx, [esi + esi*8]
lea esi, [eax + edx*8]
test esi, esi
je 0x6ac7c1
cmp byte [esi + 0x18], 0
jne 0x6ac7c1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jge 0x6ac7c1
mov ebx, dword [esi + 4]
mov edx, dword [esi + 0xc]
add edx, ebx
cmp ebx, edx
jge 0x6ac63e
lea eax, [eax + ebx*8]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edx, [edi + ecx*8 + 0x118]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x41
je 0x6ac651
mov eax, dword [esi + 0xc]
add eax, dword [esi + 4]
add dword [esp + 0x28], 0x3c0
inc ebx
cmp ebx, eax
jl 0x6ac611
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 8]
add ecx, dword [esi]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x6ac5f0
jmp 0x6ac7c1
cmp dword [esp + 0x14], 0
je 0x6ac6a1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
lea ebx, [esp + 0xbc]
lea edi, [esp + 0x50]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], eax
call fcn.00421bf0
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x20]
add eax, 0xfffffff8
push ecx
lea ebx, [esp + 0xe0]
mov dword [esp + 0x24], eax
call fcn.00421c60
mov dword [eax], esi
jmp 0x6ac7bd
mov eax, dword [esi]
mov edx, dword [esi + 8]
add edx, eax
cmp eax, edx
mov dword [esp + 0x1c], eax
jge 0x6ac7c1
mov ebx, dword [esi + 4]
mov eax, dword [esi + 0xc]
add eax, ebx
cmp ebx, eax
mov dword [esp + 0x20], ebx
jge 0x6ac77f
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + ebx*8]
mov edx, eax
shl edx, 4
sub edx, eax
lea eax, [edi + edx*8 + 0x110]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
add ecx, 8
call fcn.00436230
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x6ac762
fld qword [0x7a8008]
fucompp
fnstsw ax
test ah, 0x44
jp 0x6ac710
cmp dword [esp + 0x34], 5
je 0x6ac717
jmp 0x6ac764
cmp dword [esp + 0x34], 2
jne 0x6ac764
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
lea ebx, [esp + 0xd4]
lea edi, [esp + 0x50]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
call fcn.00421bf0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
push ecx
lea ebx, [esp + 0xe0]
mov dword [esp + 0x30], eax
call fcn.00421c60
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
mov dword [eax], esi
jmp 0x6ac764
fstp st(0)
mov edx, dword [esi + 0xc]
add edx, dword [esi + 4]
add dword [esp + 0x28], 0x3c0
inc ebx
cmp ebx, edx
mov dword [esp + 0x20], ebx
jl 0x6ac6e1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 8]
add ecx, dword [esi]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x6ac6b4
jmp 0x6ac7c1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], eax
lea ebx, [esp + 0xb4]
lea edi, [esp + 0x50]
call fcn.00421bf0
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x4c]
inc eax
add ebx, 0x3c0
cmp eax, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], ebx
jl 0x6ac390
mov eax, dword [esp + 0x18]
add dword [esp + 0x3c], 0x78
inc eax
cmp eax, 8
mov dword [esp + 0x18], eax
jl 0x6ac380
mov eax, dword [esp + 0x34]
cmp eax, 4
je 0x6ac80b
cmp eax, 3
je 0x6ac80b
cmp eax, 1
jne 0x6ac838
mov esi, dword [esp + 0x14]
test esi, esi
je 0x6ac838
mov edi, dword [edi + 0x104]
add edi, 0x2f18
mov ecx, edi
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x6ac838
call fcn.00433fb0
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], 0
sar eax, 3
test eax, eax
jbe 0x6ad343
mov ecx, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
and ecx, 6
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x1c]
cmp esi, eax
jb 0x6ac86f
call fcn.006441b7
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [eax + esi*8]
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jb 0x6ac888
call fcn.006441b7
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov edi, dword [eax + edx*8 + 4]
mov edx, dword [esp + 0x38]
lea eax, [ebx + edi*8]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea eax, [edx + ecx*8 + 0x110]
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
mov edx, ecx
imul edx, ebx
mov dword [esp + 0x3c], eax
shl edx, 7
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edi
mov dword [esp + 0x28], eax
shl edx, 7
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shl ecx, 7
shr esi, 0x1f
add esi, edx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp dword [esp + 0x14], 0
mov dword [esp + 0x24], ecx
je 0x6ac990
mov edx, dword [esp + 0x48]
mov eax, edx
call fcn.0045a0e0
mov ecx, eax
mov eax, edx
call fcn.0045a0f0
mov edx, dword [0x88b12c]
mov esi, dword [edx + 0x9e0]
mov dword [esp + 0x24], eax
mov edx, ebx
shl edx, 7
add edx, 0x40
imul edx, esi
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x2c], eax
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
sar eax, 1
sub edx, eax
mov dword [esp + 0x28], edx
mov edx, edi
shl edx, 7
add edx, 0x40
imul edx, esi
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, dword [esp + 0x24]
cdq
sub eax, edx
sar eax, 1
sub esi, eax
mov edx, dword [esp + 0x28]
test edx, edx
jge 0x6ac9a0
sub ecx, edx
xor edx, edx
mov dword [esp + 0x28], edx
test esi, esi
jge 0x6ac9aa
sub dword [esp + 0x24], esi
xor esi, esi
mov eax, dword [esp + 0x44]
call fcn.0045a0e0
add edx, ecx
cmp edx, eax
jle 0x6ac9c8
mov eax, dword [esp + 0x44]
call fcn.0045a0e0
mov ecx, eax
sub ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
call fcn.0045a0f0
mov edx, dword [esp + 0x24]
add edx, esi
cmp edx, eax
jle 0x6ac9e8
mov eax, dword [esp + 0x44]
call fcn.0045a0f0
sub eax, esi
jmp 0x6ac9ec
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x8c], eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], ecx
test eax, eax
je 0x6ad194
cmp eax, 4
je 0x6ad147
cmp eax, 5
jne 0x6acc0a
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x2c]
push ecx
lea ebx, [esp + 0xe0]
mov dword [esp + 0x30], eax
call fcn.00421c60
mov esi, dword [esp + 0x14]
mov ebx, dword [eax]
mov dword [esp + 0x3c], ebx
test esi, esi
je 0x6aca92
fld dword [0x7b1248]
sub esp, 8
fstp dword [esp + 4]
mov eax, 3
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov esi, dword [ebp + 8]
jmp 0x6acab8
lea ecx, [esp + 0x90]
lea eax, [esp + 0x184]
lea edi, [esp + 0x80]
call fcn.00421780
mov esi, dword [ebp + 8]
call fcn.00432910
mov ebx, dword [esp + 0x3c]
mov edx, dword [ebx]
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx*4 + 0x883088]
mov dword [esp + 0x2c], edx
test eax, eax
jne 0x6acad3
xor ecx, ecx
jmp 0x6acad5
mov ecx, dword [eax]
mov eax, 0x843
call fcn.006e1370
mov ebx, dword [ebx*4 + 0x883088]
sub ecx, eax
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x6acaf4
xor ecx, ecx
jmp 0x6acaf7
mov ecx, dword [ebx + 4]
mov eax, 0x843
call fcn.006e1360
sub ecx, eax
mov ebx, ecx
xor ecx, ecx
lea eax, [esp + 0x154]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
mov cl, 1
mov eax, esi
call fcn.00430cc0
mov eax, dword [0x88b12c]
mov ecx, dword [esp + 0x20]
shl edi, 7
add edi, ebx
mov ebx, dword [eax + 0x9e0]
mov eax, dword [esp + 0x2c]
shl eax, 7
add eax, ecx
lea ecx, [edi + 5]
imul ecx, ebx
mov dword [esp + 0x20], eax
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x20]
add ecx, 5
sar edx, 7
imul ecx, ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
push ecx
mov eax, esi
call fcn.00431710
xor cl, cl
mov eax, esi
call fcn.00430cc0
mov ecx, 0xffffffff
lea eax, [esp + 0x12c]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
mov edx, ecx
imul ecx, dword [esp + 0x20]
imul edx, edi
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
push ecx
mov eax, esi
call fcn.00431710
cmp dword [esp + 0x14], 0
jne 0x6ad327
lea eax, [esp + 0x90]
call fcn.00432910
jmp 0x6ad327
cmp eax, 3
jne 0x6ace09
mov eax, dword [0x88b12c]
mov esi, dword [eax + 0x9e0]
mov ecx, dword [esp + 0x18]
imul ecx, esi
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
mov ecx, dword [esp + 0x1c]
imul ecx, esi
mov esi, dword [ebp + 8]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, esi
call fcn.004329c0
mov eax, dword [esp + 0x78]
sub eax, dword [esp + 0x74]
sar eax, 3
cmp dword [esp + 0x1c], eax
jb 0x6acc70
call fcn.006441b7
cmp dword [esp + 0x14], 0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x1c]
fld qword [ecx + edx*8]
fst qword [esp + 0x3c]
je 0x6acd46
mov esi, dword [esp + 0x14]
fstp st(0)
fld dword [0x7b1248]
sub esp, 8
fstp dword [esp + 4]
mov eax, 1
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov eax, dword [0x88b12c]
fld1
mov ecx, dword [eax + 0x9e0]
shl edi, 7
add edi, 0x40
imul edi, ecx
mov eax, 0x1b4e81b5
imul edi
shl ebx, 7
sar edx, 7
add ebx, 0x42
imul ebx, ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, 0x1b4e81b5
imul ebx
mov eax, dword [ebp + 8]
sub esp, 0x10
sar edx, 7
mov ecx, edx
fst dword [esp + 0xc]
shr ecx, 0x1f
fstp dword [esp + 8]
add ecx, edx
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 4]
fild dword [esp + 0x3c]
fstp dword [esp]
call fcn.006f1400
fld dword [0x7b1248]
add esp, 8
fstp dword [esp + 4]
mov eax, 3
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
fld qword [esp + 0x3c]
mov esi, dword [ebp + 8]
fld qword [0x7a8008]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x6acd85
fstp dword [esp + 0x2c]
push ecx
fld dword [esp + 0x30]
lea esi, [esp + 0x1a8]
fstp dword [esp]
call fcn.00434940
mov esi, dword [ebp + 8]
add esp, 4
mov ecx, esi
call fcn.00430c20
mov cl, 1
mov eax, esi
call fcn.00430cc0
jmp 0x6acd87
fstp st(0)
mov eax, dword [esp + 0xb0]
lea edx, [esp + 0xa0]
push edx
push eax
lea eax, [esp + 0x88]
mov ecx, esi
call fcn.00431d10
or ecx, 0xffffffff
lea eax, [esp + 0x144]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
xor cl, cl
mov eax, esi
call fcn.00430cc0
mov ecx, dword [0x88b12c]
mov edi, dword [ecx + 0x9e0]
mov ebx, dword [esp + 0x18]
mov ecx, ebx
imul ecx, edi
mov eax, 0xe4b17e4b
imul ecx
sar edx, 7
mov ecx, ebx
imul ecx, edi
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0xe4b17e4b
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
mov eax, esi
jmp 0x6ad322
cmp eax, 1
jne 0x6acf76
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
mov esi, dword [esp + 0x18]
mov edx, esi
imul edx, ecx
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, ecx
push eax
mov eax, 0x1b4e81b5
imul edx
mov eax, dword [ebp + 8]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
call fcn.004329c0
cmp dword [esp + 0x14], 0
je 0x6acf1b
fld dword [0x7b1248]
mov esi, dword [esp + 0x14]
sub esp, 8
fstp dword [esp + 4]
mov eax, 1
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov edx, dword [0x88b12c]
fld1
mov ecx, dword [edx + 0x9e0]
shl edi, 7
add edi, 0x40
imul edi, ecx
mov eax, 0x1b4e81b5
imul edi
shl ebx, 7
sar edx, 7
add ebx, 0x42
imul ebx, ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, 0x1b4e81b5
imul ebx
mov eax, dword [ebp + 8]
sub esp, 0x10
sar edx, 7
mov ecx, edx
fst dword [esp + 0xc]
shr ecx, 0x1f
fstp dword [esp + 8]
add ecx, edx
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 4]
fild dword [esp + 0x3c]
fstp dword [esp]
call fcn.006f1400
fld dword [0x7b1248]
add esp, 8
fstp dword [esp + 4]
mov eax, 3
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xa0]
push edx
push eax
lea eax, [esp + 0x88]
call fcn.00431d10
mov ecx, dword [0x88b12c]
mov edi, dword [ecx + 0x9e0]
mov ecx, esi
imul ecx, edi
mov eax, 0xe4b17e4b
imul ecx
sar edx, 7
mov ecx, esi
imul ecx, edi
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0xe4b17e4b
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
jmp 0x6ad31f
cmp eax, 2
jne 0x6ad327
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x2c]
push eax
lea ebx, [esp + 0xe0]
mov dword [esp + 0x30], edx
call fcn.00421c60
mov esi, dword [esp + 0x14]
mov ebx, dword [eax]
mov dword [esp + 0x3c], ebx
test esi, esi
je 0x6acfcb
fld dword [0x7b1248]
sub esp, 8
fstp dword [esp + 4]
mov eax, 3
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov esi, dword [ebp + 8]
jmp 0x6acff1
lea ecx, [esp + 0x90]
lea eax, [esp + 0x194]
lea edi, [esp + 0x80]
call fcn.00421780
mov esi, dword [ebp + 8]
call fcn.00432910
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebx]
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx*4 + 0x883088]
mov dword [esp + 0x2c], ecx
test eax, eax
jne 0x6ad00c
xor ecx, ecx
jmp 0x6ad00e
mov ecx, dword [eax]
mov eax, 0x843
call fcn.006e1370
mov ebx, dword [ebx*4 + 0x883088]
sub ecx, eax
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x6ad02d
xor ecx, ecx
jmp 0x6ad030
mov ecx, dword [ebx + 4]
mov eax, 0x843
call fcn.006e1360
sub ecx, eax
mov ebx, ecx
xor ecx, ecx
lea eax, [esp + 0xfc]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
mov cl, 1
mov eax, esi
call fcn.00430cc0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [0x88b12c]
shl eax, 7
add eax, ecx
shl edi, 7
add edi, ebx
mov ebx, dword [edx + 0x9e0]
lea ecx, [edi + 5]
imul ecx, ebx
mov dword [esp + 0x20], eax
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x20]
add ecx, 5
sar edx, 7
imul ecx, ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
push ecx
mov eax, esi
call fcn.00431710
xor cl, cl
mov eax, esi
call fcn.00430cc0
mov ecx, 0xffffffff
lea eax, [esp + 0x16c]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
mov edx, ecx
imul ecx, dword [esp + 0x20]
imul edx, edi
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
push ecx
mov eax, esi
call fcn.00431710
cmp dword [esp + 0x14], 0
jne 0x6ad327
mov esi, dword [ebp + 8]
lea eax, [esp + 0x90]
call fcn.00432910
jmp 0x6ad327
mov ecx, dword [esp + 0x18]
mov eax, dword [0x88b12c]
mov esi, dword [eax + 0x9e0]
mov edx, ecx
imul edx, esi
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, esi
mov esi, dword [ebp + 8]
push eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
mov eax, esi
call fcn.004329c0
mov eax, dword [esp + 0x34]
jmp 0x6ad197
mov esi, dword [ebp + 8]
cmp dword [esp + 0x14], 0
je 0x6ad25d
fld dword [0x7b1248]
mov esi, dword [esp + 0x14]
sub esp, 8
fstp dword [esp + 4]
mov eax, 1
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov edx, dword [0x88b12c]
fld1
mov ecx, dword [edx + 0x9e0]
shl edi, 7
add edi, 0x40
imul edi, ecx
mov eax, 0x1b4e81b5
imul edi
shl ebx, 7
sar edx, 7
add ebx, 0x42
imul ebx, ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, 0x1b4e81b5
imul ebx
mov eax, dword [ebp + 8]
sub esp, 0x10
sar edx, 7
mov ecx, edx
fst dword [esp + 0xc]
shr ecx, 0x1f
fstp dword [esp + 8]
add ecx, edx
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 4]
fild dword [esp + 0x3c]
fstp dword [esp]
call fcn.006f1400
fld dword [0x7b1248]
add esp, 8
fstp dword [esp + 4]
mov eax, 3
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x6ad2c0
mov ecx, 0x776655
lea eax, [esp + 0x11c]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
mov cl, 1
mov eax, esi
call fcn.00430cc0
mov eax, dword [esp + 0x44]
lea edx, [esp + 0xa0]
push edx
push eax
lea eax, [esp + 0x88]
mov ecx, esi
call fcn.00431d10
xor cl, cl
mov eax, esi
call fcn.00430cc0
mov ecx, 0xffffffff
lea eax, [esp + 0x10c]
call fcn.00434820
mov ecx, esi
call fcn.00430c20
jmp 0x6ad327
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0xa0]
push ecx
push edx
lea eax, [esp + 0x88]
mov ecx, esi
call fcn.00431d10
cmp dword [esp + 0x34], 4
jne 0x6ad327
mov eax, dword [0x88b12c]
mov esi, dword [eax + 0x9e0]
mov edi, dword [esp + 0x18]
mov ecx, edi
imul ecx, esi
mov eax, 0xe4b17e4b
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
mov ecx, edi
imul ecx, esi
mov eax, 0xe4b17e4b
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, dword [ebp + 8]
call fcn.004329c0
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
inc ecx
sar eax, 3
mov dword [esp + 0x1c], ecx
cmp ecx, eax
jb 0x6ac862
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x34]
inc eax
cmp eax, 6
mov dword [esp + 0x34], eax
jl 0x6ac2d2
mov esi, dword [esp + 0x14]
test esi, esi
je 0x6ad3a4
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x104]
add ecx, 0x2f18
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x6ad3a4
fld dword [0x7b1248]
sub esp, 8
fstp dword [esp + 4]
xor eax, eax
fld dword [0x82e0c0]
fstp dword [esp]
call fcn.00434130
call fcn.00433fb0
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x1f58]
mov eax, dword [ecx]
mov edx, dword [eax + 0x68]
push edi
call edx
mov ebx, edi
call fcn.00430bb0
mov eax, dword [esp + 0x74]
xor edi, edi
cmp eax, edi
je 0x6ad3d0
push eax
call fcn.006441c7
add esp, 4
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
call fcn.006441c7
add esp, 4
lea esi, [esp + 0xdc]
mov byte [esp + 0x1c0], 3
call fcn.00427610
mov ecx, dword [esp + 0xdc]
push ecx
call fcn.006441c7
mov eax, dword [esp + 0x60]
add esp, 4
cmp eax, edi
je 0x6ad421
push eax
call fcn.006441c7
add esp, 4
mov edx, dword [esp + 0x50]
push edx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
call fcn.006441c7
add esp, 4
mov ecx, dword [esp + 0x1b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4