Function at 0x4a76d4
Capabilities:
Acquire debug privileges
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x118
mov eax, dword [0x43000c]
xor eax, esp
mov dword [esp + 0x114], eax
push esi
push edi
call fcn.004a5c24
test al, al
je 0x4a8331
call fcn.004a5d84
test al, al
jne 0x4a83da
push 0
mov dword [esp + 0x38], 0x30
mov dword [esp + 0x3c], 0x40
mov dword [esp + 0x40], 0x424670
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
call dword [0x4280a8]
mov dword [esp + 0x48], eax
xorps xmm0, xmm0
lea eax, [esp + 0x34]
mov dword [esp + 0x5c], 0x42ca80
push eax
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
call dword [0x42818c]
lea eax, [esp + 0xfc]
push eax
call dword [0x428184]
push eax
call dword [0x428190]
mov eax, dword [esp + 0x104]
push 0
push dword [esp + 0x4c]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x110]
push 0
push 0
cdq
push 0xdc
sub eax, edx
sar ecx, 1
push 0x1c2
sar eax, 1
sub ecx, 0x96
sub eax, 0x4b
push eax
push ecx
push 0x80000000
push 0x42ca80
push 0x42ca80
push 0
call dword [0x428170]
push 0x430c1c
push 0x430c18
mov esi, eax
mov dword [esp + 0x94], 2
lea eax, [esp + 0x6c]
mov dword [esp + 0x10], esi
push eax
push 0x1d
push 0
push 0
push 0
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
push 0
movlpd qword [esp + 0x98], xmm0
mov dword [esp + 0x88], 0
mov dword [esp + 0x94], 0x1c
mov dword [esp + 0x8c], 0x3c
mov dword [esp + 0x90], 1
mov dword [esp + 0xbc], 2
mov dword [esp + 0xa8], 0x20
mov dword [esp + 0xb0], esi
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], 0
call dword [0x428300]
test eax, eax
je 0x4a78fe
mov ecx, dword [0x430c04]
test ecx, ecx
je 0x4a78a0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430c04], 0
mov ecx, dword [0x430c18]
test ecx, ecx
je 0x4a78ba
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430c18], 0
mov ecx, dword [0x430c1c]
test ecx, ecx
je 0x4a78d4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430c1c], 0
push dword [esp + 0x48]
push 0x42ca98
call dword [0x42817c]
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x114]
xor ecx, esp
call fcn.004a83e0
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [0x430c18]
lea edx, [esp + 0x28]
push edx
push 0x42cc28
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [0x430c1c]
push 0x430c04
push 0
push dword [esp + 0x30]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x130]
mov eax, dword [esp + 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xa
push esi
call dword [0x42815c]
push esi
call dword [0x4281b8]
inc dword [0x430bb0]
push 0x39a8
call dword [0x428238]
add esp, 4
test eax, eax
je 0x4a796c
push ecx
mov ecx, eax
call fcn.00483e04
mov esi, eax
jmp 0x4a796e
xor esi, esi
mov eax, dword [0x430b24]
mov ecx, 0x428518
test eax, eax
mov dword [esp + 0xb4], 0
push 0
cmove eax, esi
mov dword [esp + 0xa4], 0x428518
xor edx, edx
mov dword [0x430b24], eax
call fcn.00484f74
add esp, 4
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xa8], 0x407ae0
lea ecx, [esi + 0x2b78]
mov dword [esp + 0xac], 0x407b50
mov dword [esp + 0xb0], 0x407c40
push eax
call fcn.00495134
mov edi, dword [0x430b24]
push 0x430c10
mov byte [esi], 1
call dword [0x4280c4]
test eax, eax
je 0x4a7ac0
push 0x430c08
call dword [0x4280c0]
test eax, eax
je 0x4a7ac0
mov eax, dword [0x430b24]
mov ecx, dword [esp + 8]
mov dword [0x430c00], ecx
or dword [eax + 0xc], 6
mov dword [eax + 0xd0], ecx
mov dword [eax + 0x34], 9
mov dword [eax + 0x38], 0x25
mov dword [eax + 0x3c], 0x27
mov dword [eax + 0x40], 0x26
mov dword [eax + 0x44], 0x28
mov dword [eax + 0x48], 0x21
mov dword [eax + 0x4c], 0x22
mov dword [eax + 0x50], 0x24
mov dword [eax + 0x54], 0x23
mov dword [eax + 0x58], 0x2d
mov dword [eax + 0x5c], 0x2e
mov dword [eax + 0x60], 8
mov dword [eax + 0x64], 0x20
mov dword [eax + 0x68], 0xd
mov dword [eax + 0x6c], 0x1b
mov dword [eax + 0x70], 0x41
mov dword [eax + 0x74], 0x43
mov dword [eax + 0x78], 0x56
mov dword [eax + 0x7c], 0x58
mov dword [eax + 0x80], 0x59
mov dword [eax + 0x84], 0x5a
mov esi, dword [0x430c1c]
lea ecx, [esp + 0x30]
push ecx
push 0x42c664
push esi
mov eax, dword [esi]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
call dword [eax]
test eax, eax
jne 0x4a7b30
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
push 0x42c674
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
jne 0x4a7b30
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x2c]
push edx
push 0x42c684
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
jne 0x4a7b30
mov eax, dword [esp + 0x2c]
mov dword [0x430bec], esi
mov dword [0x430bf0], eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4a7b3e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4a7b4c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea eax, [esp + 0x2c]
push eax
push 0x20
call dword [0x4280b0]
push eax
call dword [0x428020]
test eax, eax
je 0x4a7bb3
lea eax, [esp + 0xbc]
mov dword [esp + 0xb8], 1
push eax
push 0x42c8f0
push 0
call dword [0x428024]
push 0
push 0
push 0x10
lea eax, [esp + 0xc4]
mov dword [esp + 0xd0], 2
push eax
push 0
push dword [esp + 0x40]
call dword [0x428028]
push dword [esp + 0x2c]
call dword [0x42809c]
xor ecx, ecx
call fcn.0049ce14
movss xmm2, dword [0x42cce4]
push 0x42c1bc
push ecx
mov ecx, dword [edi + 0x94]
push 0x42caa8
call fcn.0049f4e4
movss xmm2, dword [0x42cce8]
push 0x42c1bc
push ecx
mov ecx, dword [edi + 0x94]
push 0x42cac4
mov dword [0x430b28], eax
call fcn.0049f4e4
movaps xmm0, xmmword [0x42cec0]
mov ecx, dword [0x428154]
mov eax, dword [0x428178]
mov esi, dword [0x428174]
mov edi, dword [0x4281bc]
movups xmmword [esp + 0x10c], xmm0
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x428160]
xorps xmm0, xmm0
movaps xmmword [esp + 0xd0], xmm0
movq qword [esp + 0xe0], xmm0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], ecx
push 1
push 0
push 0
push 0
lea ecx, [esp + 0xe0]
push ecx
call eax
test eax, eax
je 0x4a7c87
lea eax, [esp + 0xd0]
push eax
call esi
lea eax, [esp + 0xd0]
push eax
call dword [esp + 0x30]
jmp 0x4a8234
cmp dword [0x430bf4], 0
jne 0x4a7c95
call fcn.004a2e74
call fcn.004a32f4
call fcn.00489e74
cmp byte [0x43001c], 0
je 0x4a83d2
mov eax, dword [0x430b24]
mov dword [eax + 0x19d4], 0xc0000000
mov dword [eax + 0x19d8], 0xc0000000
mov dword [eax + 0x19dc], 0
mov dword [eax + 0x19e0], 0
mov dword [eax + 0x19b8], 1
call fcn.00492794
mov eax, dword [0x430b24]
mov edx, 0x43001c
push 0x13e
mov ecx, 0x42ca80
mov dword [eax + 0x19e4], 0x43e30000
mov dword [eax + 0x19e8], 0x43600000
mov dword [eax + 0x19bc], 4
mov dword [eax + 0x1a10], 0x3f800000
mov dword [eax + 0x19d0], 1
call fcn.0048efb4
add esp, 4
push 0x74
call dword [esp + 0x2c]
test al, 1
mov al, byte [0x430c3c]
je 0x4a7d4c
xor al, 1
mov byte [0x430c3c], al
test al, al
je 0x4a7d55
call fcn.004a7354
mov esi, dword [0x430b24]
xor edx, edx
mov dword [esp + 0x14], 0
mov eax, dword [esi + 0x1928]
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [0x42cc78]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x1928]
subss xmm0, dword [0x42ccd0]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1d0]
movss dword [esp + 0x10], xmm0
push dword [eax + ecx*4 - 4]
mov ecx, 0x42cae0
call fcn.00484f74
add esp, 4
cmp dword [esi + 0x1944], eax
jne 0x4a7dbc
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], eax
jne 0x4a7dcb
mov byte [esi + 0x1954], 1
push 0x3a
push ecx
lea ecx, [esp + 0x18]
mov edx, eax
push ecx
mov ecx, 0x42cae0
call fcn.0048d374
movaps xmm0, xmmword [0x42ced0]
lea eax, [esp + 0xac]
add esp, 0xc
movups xmmword [esp + 0xa0], xmm0
push 0x42caf0
push eax
call fcn.00492a74
movaps xmm0, xmmword [0x42cdf0]
lea eax, [esp + 0xa8]
push 0x42cb08
push eax
movups xmmword [esp + 0xb0], xmm0
call fcn.00492a74
movaps xmm0, xmmword [0x42cdf0]
lea eax, [esp + 0xb0]
push 0x42cb24
push eax
movups xmmword [esp + 0xb8], xmm0
call fcn.00492a74
movaps xmm0, xmmword [0x42cdf0]
lea eax, [esp + 0xb8]
push 0x42cb44
push eax
movups xmmword [esp + 0xc0], xmm0
call fcn.00492a74
add esp, 0x20
call fcn.0048d624
mov esi, dword [0x430b24]
mov eax, dword [esi + 0x1928]
mov byte [eax + 0x78], 1
mov ecx, dword [esi + 0x1928]
cmp byte [ecx + 0x7b], 0
jne 0x4a7ed0
movss xmm1, dword [ecx + 0xd0]
addss xmm1, dword [esi + 0x154c]
movss xmm0, dword [ecx + 0xd4]
movss dword [ecx + 0xc8], xmm1
movss dword [ecx + 0xcc], xmm0
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0xe8], eax
mov eax, dword [ecx + 0xf4]
mov dword [ecx + 0xec], eax
mov ecx, dword [esi + 0x1928]
mov eax, dword [esi + 0x1928]
xor edx, edx
mov dword [esp + 0x1c], 0
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [0x42cc78]
mov byte [ecx + 0x78], 1
mov eax, dword [esi + 0x1928]
subss xmm0, dword [0x42ccdc]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1d0]
movss dword [esp + 0x18], xmm0
push dword [eax + ecx*4 - 4]
mov ecx, 0x42cb64
call fcn.00484f74
add esp, 4
cmp dword [esi + 0x1944], eax
jne 0x4a7f31
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], eax
jne 0x4a7f40
mov byte [esi + 0x1954], 1
push 0x22
push ecx
lea ecx, [esp + 0x20]
mov edx, eax
push ecx
mov ecx, 0x42cb64
call fcn.0048d374
add esp, 8
mov dword [esp + 0x24], 0x43430000
lea edx, [esp + 0x24]
mov dword [esp + 0x28], 0x41c80000
mov ecx, 0x42cb74
call fcn.00493894
add esp, 4
test al, al
je 0x4a7f81
call fcn.004a7354
push ecx
lea edx, [esp + 0xbc]
mov dword [esp + 0xbc], 0x43430000
mov ecx, 0x42cb94
mov dword [esp + 0xc0], 0x41c80000
call fcn.00493894
add esp, 4
test al, al
je 0x4a7fc0
push 0x40
push 0x42cbbc
push 0x42cbc8
push 0
call edi
movaps xmm0, xmmword [0x42cf30]
lea eax, [esp + 0xa0]
push 0x42cbd0
push eax
movups xmmword [esp + 0xa8], xmm0
call fcn.00492a74
mov edx, dword [0x430b24]
add esp, 8
mov eax, dword [edx + 0x1928]
mov byte [eax + 0x78], 1
mov ecx, dword [edx + 0x1928]
cmp byte [ecx + 0x7b], 0
jne 0x4a8040
movss xmm1, dword [ecx + 0xd0]
addss xmm1, dword [edx + 0x154c]
movss xmm0, dword [ecx + 0xd4]
movss dword [ecx + 0xc8], xmm1
movss dword [ecx + 0xcc], xmm0
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0xe8], eax
mov eax, dword [ecx + 0xf4]
mov dword [ecx + 0xec], eax
movaps xmm0, xmmword [0x42cfe0]
lea eax, [esp + 0xa0]
push 0x42cbd8
push eax
movups xmmword [esp + 0xa8], xmm0
call fcn.00492a74
movaps xmm0, xmmword [0x42cf30]
lea eax, [esp + 0xa8]
push 0x42cbe4
push eax
movups xmmword [esp + 0xb0], xmm0
call fcn.00492a74
mov edx, dword [0x430b24]
add esp, 0x10
mov eax, dword [edx + 0x1928]
mov byte [eax + 0x78], 1
mov ecx, dword [edx + 0x1928]
cmp byte [ecx + 0x7b], 0
jne 0x4a80e1
movss xmm1, dword [ecx + 0xd0]
addss xmm1, dword [edx + 0x154c]
movss xmm0, dword [ecx + 0xd4]
movss dword [ecx + 0xc8], xmm1
movss dword [ecx + 0xcc], xmm0
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0xe8], eax
mov eax, dword [ecx + 0xf4]
mov dword [ecx + 0xec], eax
movaps xmm0, xmmword [0x42cfe0]
lea eax, [esp + 0xa0]
push 0x42cbf4
push eax
movups xmmword [esp + 0xa8], xmm0
call fcn.00492a74
movaps xmm0, xmmword [0x42cf30]
lea eax, [esp + 0xa8]
push 0x42cc00
push eax
movups xmmword [esp + 0xb0], xmm0
call fcn.00492a74
mov edx, dword [0x430b24]
add esp, 0x10
mov eax, dword [edx + 0x1928]
mov byte [eax + 0x78], 1
mov ecx, dword [edx + 0x1928]
cmp byte [ecx + 0x7b], 0
jne 0x4a8182
movss xmm1, dword [ecx + 0xd0]
addss xmm1, dword [edx + 0x154c]
movss xmm0, dword [ecx + 0xd4]
movss dword [ecx + 0xc8], xmm1
movss dword [ecx + 0xcc], xmm0
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0xe8], eax
mov eax, dword [ecx + 0xf4]
mov dword [ecx + 0xec], eax
movaps xmm0, xmmword [0x42cfe0]
lea eax, [esp + 0xa0]
push 0x42cc0c
push eax
movups xmmword [esp + 0xa8], xmm0
call fcn.00492a74
movaps xmm0, xmmword [0x42cf30]
lea eax, [esp + 0xa8]
push 0x42cc14
push eax
movups xmmword [esp + 0xb0], xmm0
call fcn.00492a74
add esp, 0x10
call fcn.0048d624
call fcn.00492874
call fcn.00491ec4
call fcn.0048ba94
mov eax, dword [0x430c1c]
push 0
push 0x430c04
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
mov eax, dword [0x430c1c]
lea edx, [esp + 0x10c]
push edx
push dword [0x430c04]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x8c]
mov eax, dword [0x430b24]
xor ecx, ecx
add eax, 0x1b20
cmp byte [eax], cl
cmovne ecx, eax
call fcn.004a2414
mov eax, dword [0x430c18]
push 0
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0xd4], 0x12
mov eax, dword [esp + 0xc]
jne 0x4a7c56
call fcn.004a3174
mov ecx, dword [0x430bf0]
test ecx, ecx
je 0x4a8265
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430bf0], 0
mov esi, dword [0x430b24]
mov ecx, esi
mov dword [0x430bec], 0
mov dword [0x430c00], 0
call fcn.0048aa04
mov eax, dword [0x430b24]
xor ecx, ecx
cmp eax, esi
cmove eax, ecx
mov dword [0x430b24], eax
test esi, esi
je 0x4a82b2
mov ecx, esi
call fcn.004959f4
dec dword [0x430bb0]
push esi
call dword [0x42822c]
add esp, 4
mov ecx, dword [0x430c04]
test ecx, ecx
je 0x4a82cc
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430c04], 0
mov ecx, dword [0x430c18]
test ecx, ecx
je 0x4a82e6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430c18], 0
mov ecx, dword [0x430c1c]
test ecx, ecx
je 0x4a8300
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x430c1c], 0
push dword [esp + 8]
call dword [0x428158]
push dword [esp + 0x48]
push 0x42ca80
call dword [0x42817c]
mov ecx, dword [esp + 0x11c]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.004a83e0
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0xa0]
call fcn.004a6934
push 0x42ca08
call fcn.004a6804
push 0x42ca48
lea ecx, [esp + 0xa4]
call fcn.004a6804
lea eax, [esp + 0xb8]
push eax
call fcn.004a4cc4
push eax
lea ecx, [esp + 0xa4]
call fcn.004a6874
lea ecx, [esp + 0xb8]
call fcn.004a68e4
push 0x42ca54
lea ecx, [esp + 0xa4]
call fcn.004a6804
lea eax, [esp + 0xb8]
push eax
call fcn.004a4cc4
mov ecx, eax
call fcn.004a67f4
mov ecx, eax
call fcn.004a7674
lea ecx, [esp + 0xb8]
call fcn.004a68e4
push 0x10
push 0x42ca70
lea ecx, [esp + 0xa8]
call fcn.004a67f4
push eax
push 0
call dword [0x4281bc]
push 0
call dword [0x4280b8]
call fcn.004a5f84
int3