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

Disassembly:
sub esp, 0x134
mov eax, dword [0x6ee2dc]
push ebx
push ebp
push esi
mov dword [esp + 0x13c], eax
xor eax, eax
push edi
push eax
lea edi, [esp + 0x44]
mov dword [0x837960], 6
mov dword [0x837964], eax
mov dword [0x837968], eax
mov dword [0x8379ec], eax
call fcn.004456d0
push 1
lea edi, [esp + 0xc8]
call fcn.004456d0
add esp, 8
call fcn.004452b0
mov ebx, 0x813570
mov dword [esp + 0x2c], ebx
jmp 0x445d20
mov ebx, dword [esp + 0x2c]
push 1
lea eax, [ebx - 0x9310]
push 0x16b7
push eax
call fcn.004b7a50
push ebx
call fcn.005233e0
push 0x60
push 0x60
push 0x50
push 0x1c0
push 0xffc0
push 0x140
push 0x60
push ebx
call fcn.00522050
push 4
call fcn.00523cf0
mov dword [esp + 0x6c], eax
lea eax, [ebx + 0x870]
add esp, 0x34
xor edi, edi
mov dword [esp + 0x3c], edx
lea ebp, [esp + 0x40]
mov dword [esp + 0x10], eax
mov esi, 0x146
add ebx, 0x750
push 1
push 1
push 0x30
push 0x80
mov eax, dword [esp + 0x4c]
push 1
push 2
push 0x18
push 0x80
lea ecx, [edi + edi*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [esp + 0x5c]
push 0
push 0x18
push 0x80
push 0xffc0
lea edx, [esi - 4]
push edx
push 0x30
push eax
push ecx
push ebx
call fcn.004b8250
push 0x24
push 0x190
push 0xffc0
push esi
push 0xb0
push 0x12
push 0xe
call fcn.004b06e0
mov edx, dword [esp + 0x74]
add esp, 0x64
push ebp
push 1
push 0x80
push 3
push edx
call fcn.004b0490
add dword [esp + 0x24], 0x6800
add esi, 0x24
add esp, 0x14
add edi, 1
add ebx, 0x90
add ebp, 0x80
cmp esi, 0x18e
jl 0x445d83
mov dword [esp + 0x24], 0
lea ebx, [ebx]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add ecx, 0xffff6cf0
add eax, eax
add eax, eax
lea edx, [ecx + 0x690]
mov dword [esp + 0x20], edx
lea edx, [eax + eax*8]
shl edx, 8
lea edx, [edx + ecx + 0x2710]
mov dword [esp + 0x14], edx
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
add edx, edx
sub edx, eax
shl edx, 4
lea edx, [edx + ecx + 0x690]
mov dword [esp + 0x30], edx
lea edx, [eax*8]
sub edx, eax
add edx, edx
sub edx, eax
mov ebp, 0x100
mov ebx, 0x54
shl edx, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], ebx
lea edi, [ecx + 0xa0]
lea esi, [edx + ecx + 0xa0]
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
push eax
call fcn.00523510
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
add esp, 4
cmp ecx, dword [eax*4 + 0x837964]
jge 0x4462c6
add eax, eax
add eax, eax
add eax, ecx
mov eax, dword [eax*4 + 0x83796c]
push eax
call fcn.00523e90
lea ecx, [esp + 0x20]
push ecx
push 0xe
push 0x280
push eax
mov dword [esp + 0x48], eax
call fcn.004afd50
add esp, 0x14
cmp dword [esp + 0x24], 0
je 0x4460f9
push 1
push 8
push 0x20
push 1
push 2
push 4
push 0x10
push 0
push 8
push 4
push 0
push 0xffc0
lea eax, [ebx + 2]
push eax
lea ebp, [ebx + 0x12c]
push ebp
push 2
call fcn.00523270
add esp, 4
push edx
push eax
lea edx, [esi - 0x90]
push edx
call fcn.004b8800
mov ecx, dword [0x705898]
cvtsi2ss xmm0, ebx
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
add ebp, 4
cvtsi2ss xmm1, ebp
mov ebp, edx
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi - 0x18], ebx
mov dword [esi - 0x14], ebp
mulss xmm1, dword [ecx + 0x3b4]
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebx, eax
mov eax, dword [esp + 0x5c]
add eax, 0x12c
or ebp, edx
cvtsi2ss xmm1, eax
mov dword [esi], ebx
mov dword [esi + 4], ebp
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebp
mulss xmm0, dword [ecx + 0x3b8]
mulss xmm1, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
push 0x80
push 0x40
cvttss2si eax, xmm1
and eax, 0xffff
push 0x40
mov ebp, edx
cdq
or ebx, eax
push 0x80
mov eax, 0x3f800000
push 0x20
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], eax
mov dword [esi - 0xc], eax
mov dword [esi - 0x24], eax
mov eax, dword [esp + 0x74]
push 0
add eax, 0x10
push eax
mov dword [esi + 0x30], ebx
mov ebx, dword [esp + 0x78]
or ebp, edx
mov ecx, 0x80404080
push 0xffc0
lea eax, [ebx + 2]
mov dword [esi + 0x34], ebp
push eax
mov dword [esi + 0x20], ecx
mov dword [esi + 8], ecx
mov dword [esi - 0x10], ecx
mov dword [esi - 0x28], ecx
mov ecx, dword [esp + 0x98]
lea ebp, [ebx + 0x12c]
push ebp
push ecx
call fcn.005220a0
lea eax, [ebp + 0x10]
mov ebp, dword [esp + 0x80]
add esp, 0x70
push 0x12
push 0x280
push 0xffc0
lea edx, [ebx - 0x10]
push edx
push eax
push 0x12
push 0xe
call fcn.004b06e0
mov eax, dword [esp + 0x50]
push eax
jmp 0x446346
push 1
push 8
push 0x20
push 1
push 2
push 4
push 0x10
push 0
push 8
push 0
push 0
push 0xffc0
lea eax, [ebx + 2]
push eax
push ebp
push 2
call fcn.00523270
add esp, 4
push edx
push eax
lea edx, [edi - 0x90]
push edx
call fcn.004b8800
mov ecx, dword [0x705898]
cvtsi2ss xmm0, ebx
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
cvtsi2ss xmm1, ebp
mov ebp, edx
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [edi - 0x18], ebx
mov dword [edi - 0x14], ebp
mulss xmm1, dword [ecx + 0x3b4]
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebx, eax
mov eax, dword [esp + 0x54]
add eax, 0xfffffffc
cvtsi2ss xmm1, eax
or ebp, edx
mov dword [edi], ebx
mov dword [edi + 4], ebp
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
cvttss2si eax, xmm2
and eax, 0xffff
mov ebp, edx
cdq
or ebx, eax
or ebp, edx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ebp
mulss xmm0, dword [ecx + 0x3b8]
mulss xmm1, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
push 0x80
mov ebx, eax
push 0x80
push 0x40
push 0x40
mov ecx, 0x3f800000
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebx, eax
push 0
mov dword [edi + 0x24], ecx
mov dword [edi + 0xc], ecx
mov dword [edi - 0xc], ecx
mov dword [edi - 0x24], ecx
mov ecx, dword [esp + 0x74]
or ebp, edx
push 0x20
mov eax, 0x80804040
lea edx, [ecx + 0x10]
push edx
mov dword [edi + 0x20], eax
mov dword [edi + 8], eax
mov dword [edi - 0x10], eax
mov dword [edi - 0x28], eax
mov dword [edi + 0x30], ebx
mov ebx, dword [esp + 0x78]
push 0xffc0
mov dword [edi + 0x34], ebp
mov ebp, dword [esp + 0x74]
lea eax, [ebx + 2]
push eax
mov eax, ebp
sub eax, ecx
mov ecx, dword [esp + 0x88]
sub eax, 0x10
push eax
push ecx
call fcn.005220a0
mov eax, ebp
sub eax, dword [esp + 0x8c]
add esp, 0x70
sub eax, 0x10
jmp 0x4460d5
push 1
push 8
push 0x20
push 1
push 2
push 4
push 0x10
push 0
push 8
push 0
push 0
push 0
push 0x1c0
push 0x280
push 2
call fcn.00523270
add esp, 4
push edx
push eax
lea edx, [esi - 0x90]
push edx
call fcn.004b8800
mov eax, dword [esp + 0x74]
push 0
push 0
push 0
push 0xffc0
push 0x1c0
push 0x280
push eax
call fcn.00522330
add esp, 0x60
push 0x12
push 0x280
push 0xffc0
push 0x1c0
push 0x280
push 0x12
push 0xe
call fcn.004b06e0
push 0x6495e0
mov ecx, dword [esp + 0x34]
push 1
push 0x10
push 1
push ecx
call fcn.004b0490
add dword [esp + 0x58], 1
add dword [esp + 0x44], 0x900
mov eax, 0x270
add dword [esp + 0x50], eax
add dword [esp + 0x60], eax
add ebx, 0x18
sub ebp, 0x18
add esp, 0x30
add edi, 0xd0
add esi, 0xd0
cmp ebx, 0xb4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebp
jl 0x445eb0
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 2
mov dword [esp + 0x24], eax
jl 0x445e30
mov esi, dword [esp + 0x2c]
add esi, 0xffff6cf0
xor ebp, ebp
lea edx, [esi + 0x6f10]
lea ebx, [esi + 0x1d50]
mov edi, 0x8379f0
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], edi
add esi, 0x1aa0
push ebx
call fcn.00523510
add esp, 4
cmp ebp, dword [0x8379ec]
jge 0x446783
mov eax, dword [edi]
mov eax, dword [eax*8 + 0x697358]
lea ecx, [esp + 0x1c]
push ecx
push 0xe
push 0x280
push eax
mov dword [esp + 0x44], eax
call fcn.004afd50
xor edx, edx
mov eax, ebp
mov ecx, 2
div ecx
add esp, 0x10
mov edi, dword [edx*4 + 0x837964]
add edi, eax
lea eax, [edi + edi*2]
add eax, eax
add eax, eax
add eax, eax
test edx, edx
lea ebx, [eax + 0x44]
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], ebx
jne 0x44644c
mov edi, 0x100
sub edi, eax
jmp 0x446456
lea edi, [edi + edi*2 + 0x30]
add edi, edi
add edi, edi
add edi, edi
push 1
push 8
push 0x20
push 1
push 2
push 4
push 0x10
add ebx, 0x12
test edx, edx
push 0
push 8
jne 0x4465d2
push edx
push edx
push 0xffc0
push ebx
push edi
push 2
call fcn.00523270
add esp, 4
push edx
push eax
lea edx, [esi - 0x90]
push edx
call fcn.004b8800
mov ecx, dword [0x705898]
cvtsi2ss xmm0, ebx
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvtsi2ss xmm1, edi
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi - 0x18], ebx
mov dword [esi - 0x14], ebp
mulss xmm1, dword [ecx + 0x3b4]
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi], ebx
mov dword [esi + 4], ebp
lea eax, [edi - 4]
cvtsi2ss xmm1, eax
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
mov ebp, edx
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebp
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mulss xmm1, dword [ecx + 0x3b4]
mov ecx, dword [esp + 0x60]
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
push 0
or ebp, edx
push 0x20
or ebx, eax
lea edx, [ecx + 0x10]
push edx
mov dword [esi + 0x34], ebp
mov ebp, dword [esp + 0x68]
push 0xffc0
lea eax, [ebp + 0x12]
push eax
mov eax, edi
sub eax, ecx
sub eax, 0x10
push eax
jmp 0x446727
push 4
push 0
push 0xffc0
push ebx
push edi
push 2
call fcn.00523270
add esp, 4
push edx
push eax
lea ecx, [esi - 0x90]
push ecx
call fcn.004b8800
mov ecx, dword [0x705898]
cvtsi2ss xmm0, ebx
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
lea edx, [edi + 4]
cvtsi2ss xmm1, edx
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi - 0x18], ebx
mov dword [esi - 0x14], ebp
mulss xmm1, dword [ecx + 0x3b4]
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi], ebx
mov dword [esi + 4], ebp
movaps xmm2, xmm0
mulss xmm2, dword [ecx + 0x3b8]
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
cvtsi2ss xmm1, edi
movaps xmm2, xmm1
mulss xmm2, dword [ecx + 0x3b4]
mov ebp, edx
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebp
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mulss xmm1, dword [ecx + 0x3b4]
mov ebx, eax
cvttss2si eax, xmm1
and eax, 0xffff
mov ebp, edx
cdq
push 0x20
or ebx, eax
mov eax, dword [esp + 0x64]
or ebp, edx
push 0
add eax, 0x10
push eax
mov dword [esi + 0x34], ebp
mov ebp, dword [esp + 0x68]
push 0xffc0
lea eax, [ebp + 0x12]
push eax
push edi
mov dword [esi + 0x30], ebx
mov ebx, dword [esp + 0x7c]
push ebx
call fcn.00522330
add esp, 0x60
cmp dword [esp + 0x24], 0
jne 0x446747
sub edi, dword [esp + 0x1c]
sub edi, 0x10
jmp 0x44674a
add edi, 0x10
push 0x12
push 0x280
push 0xffc0
push ebp
push edi
push 0x12
push 0xe
call fcn.004b06e0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x2c]
push ecx
push 1
push 0x10
push 1
push edx
call fcn.004b0490
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x58]
jmp 0x44680f
push 1
push 8
push 0x20
push 1
push 2
push 4
push 0x10
push 0
push 8
push 0
push 0
push 0
push 0x1c0
push 0x280
push 2
call fcn.00523270
add esp, 4
push edx
push eax
lea eax, [esi - 0x90]
push eax
call fcn.004b8800
push 0
push 0
push 0
push 0xffc0
push 0x1c0
push 0x280
push ebx
call fcn.00522330
add esp, 0x60
push 0x12
push 0x280
push 0xffc0
push 0x1c0
push 0x280
push 0x12
push 0xe
call fcn.004b06e0
mov ecx, dword [esp + 0x2c]
push 0x6495e0
push 1
push 0x10
push 1
push ecx
call fcn.004b0490
add dword [esp + 0x40], 0x900
add edi, 4
add ebp, 1
add ebx, 0x270
add esp, 0x30
add esi, 0xd0
cmp edi, 0x837a00
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ebx
jl 0x4463e0
mov eax, dword [esp + 0x2c]
add eax, 0x16b80
cmp eax, 0x840c70
mov dword [esp + 0x2c], eax
jl 0x445d1c
mov ecx, dword [esp + 0x140]
pop edi
pop esi
pop ebp
pop ebx
call fcn.0062fcdf
add esp, 0x134
ret