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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x320
mov ecx, dword [ebp + 0x34]
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0xc], edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 4], esi
and esi, 0x7fffffff
cmp esi, 0x7ffeffff
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 8], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x1c], ebx
ja 0x49d4f5
mov ebx, ecx
and ebx, 0x7fffffff
cmp ebx, 0x7fff0000
jae 0x49d4f5
mov dword [esp + 0x28], ecx
mov ecx, edx
and ecx, 0x7fffffff
cmp ecx, 0x7ffeffff
ja 0x49d56a
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
or edx, esi
or eax, edi
mov esi, edi
or edx, eax
je 0x49d580
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
or edx, dword [ebp + 0x18]
or eax, esi
or edx, eax
je 0x49d580
mov edx, dword [ebp + 0x1c]
or ebx, dword [ebp + 0x20]
or edx, dword [ebp + 0x24]
or ebx, edx
je 0x49d580
mov ebx, dword [ebp + 0x20]
or ebx, dword [ebp + 0x28]
or ebx, edx
je 0x49d580
mov esi, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x30]
or esi, dword [ebp + 0x34]
or ecx, ebx
or ecx, esi
je 0x49d5f1
mov ecx, ebx
or ecx, dword [ebp + 0x38]
or ecx, esi
je 0x49d5f1
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], 0
mov ecx, ebx
shr ecx, 0x10
and ecx, 0x7fff
je 0x49d623
cmp ecx, 0x7fff
je 0x49d4e9
and ebx, 0x8000ffff
add ecx, 0xffffc002
or ebx, 0x3ffe0000
mov dword [esp + 0x30], ecx
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x49d78c
mov esi, ecx
lea ecx, [esp + 0x2a0]
push esi
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ecx
mov esi, eax
mov edi, edx
call fcn.00491c80
add esp, 0x24
lea eax, [esp + 0x300]
push edi
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [esp + 0x2bc]
push dword [esp + 0x2bc]
push dword [esp + 0x2bc]
push dword [esp + 0x2bc]
push eax
call fcn.0048f070
add esp, 0x24
movaps xmm0, xmmword [esp + 0x300]
mov eax, esi
movaps xmmword [esi], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x30]
mov esi, dword [ebp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
jmp 0x49d562
lea eax, [esp + 0xd0]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.00491c80
add esp, 0x24
lea eax, [esp + 0x2b0]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [esp + 0xec]
push dword [esp + 0xec]
push dword [esp + 0xec]
push dword [esp + 0xec]
push eax
call fcn.0048f070
add esp, 0x24
movaps xmm0, xmmword [esp + 0x2b0]
mov eax, dword [ebp + 8]
movaps xmmword [eax], xmm0
jmp 0x49d562
lea eax, [esp + 0x2c0]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.00491c80
add esp, 0x24
movaps xmm0, xmmword [esp + 0x2c0]
jmp 0x49d5e6
mov esi, dword [ebp + 0x10]
movzx ecx, bx
or ecx, esi
or eax, ecx
je 0x49d788
mov eax, ebx
bsr ebx, edi
movzx edi, ax
xor ebx, 0x1f
bsr ecx, edi
add ebx, 0x20
xor ecx, 0x1f
test edi, edi
cmove ecx, ebx
bsr ebx, esi
mov esi, dword [ebp + 0xc]
xor ebx, 0x1f
bsr eax, esi
mov esi, dword [ebp + 0x14]
xor eax, 0x1f
add eax, 0x20
cmp dword [ebp + 0x10], 0
cmovne eax, ebx
add eax, 0x40
or edi, esi
cmovne eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc0], ecx
lea ecx, [eax - 0x10]
mov eax, dword [ebp + 0x10]
mov bh, cl
inc cl
mov bl, cl
and cl, 0x78
and bh, 0x7f
shr cl, 3
and bl, 7
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x18]
neg cl
mov dword [esp + 0xcc], eax
movsx eax, cl
mov ecx, ebx
mov dword [esp + 4], eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov edi, dword [esp + eax + 0xc8]
mov dword [esp + 0x1c], edi
shl edi, cl
not cl
mov eax, dword [esp + eax + 0xc4]
mov byte [esp + 0x10], bh
mov esi, eax
shr esi, 1
shr esi, cl
mov ecx, dword [ebp + 0x18]
or esi, edi
and ecx, 0x80000000
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 4]
mov edi, dword [esp + ecx + 0xc0]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + ecx + 0xcc]
mov dword [esp + 4], ecx
mov ecx, ebx
mov ebx, dword [esp + 8]
shld dword [esp + 4], edi, cl
mov edi, dword [esp + 8]
shld eax, ebx, cl
movzx ebx, word [esp + 4]
shl edi, cl
xor ecx, ecx
cmp byte [esp + 0x10], 0x6f
cmovae eax, ecx
cmovae esi, ecx
cmovae edi, ecx
cmovae ebx, ecx
mov ecx, 0xffffc012
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
sub ecx, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], edi
lea eax, [eax + ebx + 0x3ffe0000]
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
jmp 0x49d78c
mov dword [esp + 0x10], edi
mov ecx, dword [ebp + 0x28]
xor ebx, ebx
mov eax, ecx
shr eax, 0x10
and eax, 0x7fff
je 0x49d7c7
mov edi, dword [ebp + 0x20]
cmp eax, 0x7fff
je 0x49d91a
and ecx, 0x8000ffff
add eax, 0xffffc002
or ecx, 0x3ffe0000
mov ebx, eax
mov dword [esp + 0x28], ecx
jmp 0x49d91a
mov edi, dword [ebp + 0x20]
movzx eax, cx
or eax, edi
or edx, eax
je 0x49d91a
mov ebx, edi
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x1c]
movzx ecx, cx
bsr eax, ecx
xor eax, 0x1f
bsr edx, edi
mov edi, ebx
xor edx, 0x1f
add edx, 0x20
test ecx, ecx
cmove eax, edx
bsr edx, esi
bsr ebx, ebx
xor edx, 0x1f
xor ebx, 0x1f
add edx, 0x20
test edi, edi
mov edi, dword [ebp + 0x24]
cmovne edx, ebx
add edx, 0x40
mov ebx, edi
mov dword [esp + 0xa8], edi
or ebx, ecx
cmovne edx, eax
mov eax, dword [ebp + 0x20]
lea ecx, [edx - 0x10]
mov dword [esp + 0x18], edx
mov dword [esp + 0xa0], esi
mov dh, cl
inc cl
mov dl, cl
and cl, 0x78
and dh, 0x7f
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x28]
shr cl, 3
and dl, 7
neg cl
movsx esi, cl
mov ecx, edx
mov dword [esp + 0xac], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
and eax, 0x80000000
mov ebx, dword [esp + esi + 0xa8]
mov dword [esp + 0x14], ebx
shl ebx, cl
not cl
mov esi, dword [esp + esi + 0xa4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
mov byte [esp + 0x20], dh
mov edi, esi
shr edi, 1
shr edi, cl
mov ecx, dword [esp + eax + 0xa0]
or edi, ebx
mov dword [esp + 0xc], ecx
mov ecx, edx
mov ebx, dword [esp + eax + 0xac]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
shld ebx, eax, cl
mov eax, dword [esp + 0xc]
shld esi, edx, cl
movzx edx, bx
mov ebx, 0xffffc012
shl eax, cl
xor ecx, ecx
cmp byte [esp + 0x20], 0x6f
cmovae edi, ecx
cmovae eax, ecx
cmovae edx, ecx
mov dword [esp + 0xc], edi
mov edi, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
cmovae edi, ecx
sub ebx, dword [esp + 0x18]
lea eax, [eax + edx + 0x3ffe0000]
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x38]
xor eax, eax
mov dword [esp + 0x18], edi
mov ecx, edx
shr ecx, 0x10
and ecx, 0x7fff
je 0x49d955
cmp ecx, 0x7fff
je 0x49da9f
and edx, 0x8000ffff
add ecx, 0xffffc002
or edx, 0x3ffe0000
mov eax, ecx
jmp 0x49da9f
mov edi, dword [ebp + 0x30]
movzx ecx, dx
or ecx, edi
or dword [esp + 0x24], ecx
je 0x49da9f
mov edi, dword [ebp + 0x34]
mov eax, edx
mov dword [esp + 0x58], ebx
movzx esi, ax
bsr ecx, esi
xor ecx, 0x1f
bsr edx, edi
mov edi, dword [ebp + 0x30]
xor edx, 0x1f
add edx, 0x20
test esi, esi
cmove ecx, edx
mov edx, dword [ebp + 0x2c]
bsr ebx, edi
xor ebx, 0x1f
bsr eax, edx
xor eax, 0x1f
add eax, 0x20
test edi, edi
mov edi, dword [ebp + 0x34]
cmovne eax, ebx
add eax, 0x40
mov ebx, edi
mov dword [esp + 0x88], edi
or ebx, esi
cmovne eax, ecx
mov dword [esp + 0x24], eax
lea ecx, [eax - 0x10]
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov bh, cl
inc cl
mov bl, cl
and cl, 0x78
shr cl, 3
and bl, 7
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x38]
neg cl
movsx esi, cl
mov ecx, ebx
mov ch, bh
and ch, 0x7f
mov dword [esp + 0x8c], eax
mov eax, dword [esp + esi + 0x88]
mov dword [esp + 0x3c], eax
shl eax, cl
not cl
mov edx, dword [esp + esi + 0x84]
mov edi, edx
shr edi, 1
shr edi, cl
mov cl, bl
or edi, eax
mov eax, dword [ebp + 0x38]
and eax, 0x80000000
mov dword [esp + 0x20], eax
mov eax, dword [esp + esi + 0x80]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + esi + 0x8c]
mov ebx, dword [esp + 0x34]
shld esi, eax, cl
mov eax, dword [esp + 0x34]
shld edx, ebx, cl
mov ebx, dword [esp + 0x58]
shl eax, cl
cmp ch, 0x6f
movzx ecx, si
mov esi, 0
cmovae eax, esi
cmovae edx, esi
cmovae ecx, esi
cmovae edi, esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], edi
lea edx, [eax + ecx + 0x3ffe0000]
mov eax, 0xffffc012
sub eax, dword [esp + 0x24]
add ebx, dword [esp + 0x30]
mov dword [esp + 0x58], ebx
sub ebx, eax
cmp ebx, 0xe3
jge 0x49db00
mov eax, edx
mov edx, dword [esp + 0x40]
neg ebx
lea ecx, [esp + 0x290]
push ebx
push eax
push dword [esp + 0x3c]
push dword [esp + 0x48]
call fcn.00484ba0
add esp, 0x10
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x294]
mov dword [esp + 0x40], eax
jmp 0x49db28
and edx, 0x80000000
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x30], 0
or edx, 0x10000
mov dword [esp + 0x34], edx
mov esi, dword [esp + 8]
lea eax, [esp + 0x280]
push 0x40380000
push 0
push 0x800000
push 0
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
mov edi, dword [esp + 0x38]
push edi
push eax
mov dword [esp + 0x2c], esi
call fcn.00491c80
add esp, 0x24
mov ecx, dword [esp + 0x280]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x284]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x288]
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x28c]
push ebx
push eax
push edx
push ecx
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
push edi
lea eax, [esp + 0x290]
push eax
call fcn.00490af0
add esp, 0x24
lea eax, [esp + 0x260]
push ebx
push dword [esp + 0x3c]
push dword [esp + 0x28]
push dword [esp + 0x30]
push dword [esp + 0x28c]
push dword [esp + 0x28c]
push dword [esp + 0x28c]
push dword [esp + 0x28c]
push eax
call fcn.0048f070
add esp, 0x24
mov ecx, dword [esp + 0x260]
lea eax, [esp + 0x250]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x264]
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x268]
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x26c]
mov dword [esp + 0x2c], esi
push esi
push ebx
push edx
push ecx
push dword [esp + 0x14]
push dword [esp + 0x24]
push dword [esp + 0x20]
push edi
push eax
call fcn.00490af0
add esp, 0x24
mov eax, dword [esp + 0x250]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x25c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x240]
push 0x40380000
push 0
push 0x800000
push 0
mov ecx, dword [esp + 0x38]
push ecx
mov edi, ecx
mov dword [esp + 0x3c], ecx
push dword [esp + 0x20]
mov esi, dword [esp + 0x30]
push esi
push dword [esp + 0x30]
push eax
call fcn.00491c80
add esp, 0x24
mov edx, dword [esp + 0x240]
mov ecx, esi
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x244]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x248]
mov ebx, dword [esp + 0x24c]
push ebx
push esi
push eax
push edx
push edi
push dword [esp + 0x20]
push ecx
push dword [esp + 0x30]
lea eax, [esp + 0x250]
push eax
call fcn.00490af0
add esp, 0x24
lea eax, [esp + 0x220]
push ebx
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push dword [esp + 0x24c]
push dword [esp + 0x24c]
push dword [esp + 0x24c]
push dword [esp + 0x24c]
push eax
call fcn.0048f070
add esp, 0x24
mov edx, dword [esp + 0x224]
mov esi, dword [esp + 0x228]
mov edi, dword [esp + 0x22c]
mov ecx, dword [esp + 0x220]
lea eax, [esp + 0x210]
mov dword [esp + 0x1c], edi
push edi
push esi
mov edi, esi
mov dword [esp + 0x70], esi
push edx
mov ebx, edx
mov dword [esp + 0x78], edx
push ecx
mov esi, ecx
mov dword [esp + 0x20], ecx
push dword [esp + 0x38]
push dword [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x30]
push eax
call fcn.00490af0
add esp, 0x24
mov eax, dword [esp + 0x210]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x21c]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x200]
push dword [esp + 0x1c]
push edi
push ebx
push esi
push dword [esp + 0x3c]
mov edi, dword [esp + 0x5c]
push edi
mov ebx, dword [esp + 0x64]
push ebx
mov esi, dword [esp + 0x6c]
push esi
push eax
call fcn.00491c80
add esp, 0x24
mov eax, dword [esp + 0x200]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x1f0]
push dword [esp + 0x54]
push dword [esp + 0x3c]
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x3c]
push edi
push ebx
push esi
push eax
call fcn.00491c80
add esp, 0x24
mov eax, dword [esp + 0x1f8]
mov esi, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1e0]
mov edi, dword [esp + 0x1fc]
push dword [esp + 0x1c]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x1c]
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [esp + 0x20]
push dword [esp + 0x20]
push eax
call fcn.00491c80
add esp, 0x24
lea eax, [esp + 0x1d0]
push dword [esp + 0x1ec]
push dword [esp + 0x1ec]
push dword [esp + 0x1ec]
push dword [esp + 0x1ec]
push edi
push dword [esp + 0x20]
push ebx
push esi
push eax
call fcn.0048f070
add esp, 0x24
mov ecx, dword [esp + 0x1d0]
lea eax, [esp + 0x1c0]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x1d4]
mov dword [esp + 0x50], edx
mov esi, dword [esp + 0x1d8]
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x1dc]
mov dword [esp + 0x48], edi
push edi
push esi
push edx
push ecx
push dword [esp + 0x54]
mov ebx, dword [esp + 0x74]
push ebx
mov edi, dword [esp + 0x7c]
push edi
push dword [esp + 0x78]
push eax
call fcn.0048f070
add esp, 0x24
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x1c4]
mov dword [esp + 0xc], edx
push ecx
push eax
push edx
push esi
push dword [esp + 0x54]
push ebx
push edi
push dword [esp + 0x78]
lea eax, [esp + 0x1d0]
push eax
call fcn.00490af0
add esp, 0x24
lea eax, [esp + 0x1a0]
push dword [esp + 0x48]
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x38]
push dword [esp + 0x1cc]
push dword [esp + 0x1cc]
push dword [esp + 0x1cc]
push dword [esp + 0x1cc]
push eax
call fcn.0048f070
add esp, 0x24
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x190]
mov edi, dword [esp + 0x1a4]
mov ebx, dword [esp + 0x1a8]
mov esi, dword [esp + 0x1ac]
push dword [esp + 0x54]
push dword [esp + 0x3c]
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x38]
push dword [esp + 0x20]
push dword [esp + 0x20]
push eax
call fcn.00491c80
add esp, 0x24
lea eax, [esp + 0x180]
push dword [esp + 0x19c]
push dword [esp + 0x19c]
push dword [esp + 0x19c]
push dword [esp + 0x19c]
push esi
push ebx
push edi
push dword [esp + 0x48]
push eax
call fcn.0048f070
add esp, 0x24
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x170]
push dword [esp + 0x34]
push dword [esp + 0x34]
push dword [esp + 0x48]
push dword [esp + 0x48]
mov ebx, dword [esp + 0x20]
push ebx
mov edi, dword [esp + 0x3c]
push edi
push dword [esp + 0x24]
mov esi, dword [esp + 0x38]
push esi
push eax
call fcn.0048f070
add esp, 0x24
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x14], eax
push ebx
push edi
push dword [esp + 0x14]
push esi
push edx
mov edi, edx
mov dword [esp + 0x2c], edx
push ecx
mov ebx, ecx
mov dword [esp + 0x20], ecx
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x180]
push eax
call fcn.00490af0
add esp, 0x24
mov esi, dword [esp + 0x160]
mov dword [esp + 0x2c], esi
mov edx, dword [esp + 0x164]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x50], eax
push eax
push ecx
push edx
push esi
push edi
push ebx
mov edi, dword [esp + 0x2c]
push edi
mov esi, dword [esp + 0x20]
push esi
lea eax, [esp + 0x170]
push eax
call fcn.00490af0
add esp, 0x24
lea eax, [esp + 0x140]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x20]
push dword [esp + 0x3c]
push dword [esp + 0x24]
push dword [esp + 0x38]
push eax
call fcn.00490af0
add esp, 0x24
mov eax, dword [esp + 0x140]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x130]
push dword [esp + 0x50]
push dword [esp + 0x60]
push dword [esp + 0x4c]
mov ebx, edi
push dword [esp + 0x38]
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esp + 0x58]
push dword [esp + 0x58]
push eax
call fcn.00490af0
add esp, 0x24
lea eax, [esp + 0x120]
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x60]
push dword [esp + 0x68]
push eax
call fcn.0048f070
add esp, 0x24
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + 0x18]
mov edx, esi
xor ecx, ecx
mov dword [esp + 0x44], eax
and edi, 0x7fffffff
neg edx
mov edx, 0
mov eax, dword [esp + 0x128]
sbb edx, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x120]
sbb ecx, eax
mov esi, eax
mov eax, dword [esp + 0x124]
mov ecx, 0x7fff0000
sbb ecx, edi
jb 0x49e22a
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x14]
or ecx, esi
or ebx, edi
or ebx, ecx
je 0x49e2d9
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 4]
or ebx, dword [esp + 0x18]
or ecx, esi
or ebx, ecx
mov ebx, dword [esp + 0x14]
je 0x49e2d9
lea ecx, [esp + 0xf0]
push dword [esp + 0x38]
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x60]
push dword [esp + 0x54]
push dword [esp + 0x40]
push eax
call fcn.004857e0
add esp, 0x1c
mov eax, edi
shr eax, 0x10
cmp eax, 0x7fff
je 0x49e2ae
mov edx, dword [esp + 8]
mov esi, dword [esp + 4]
test eax, eax
jne 0x49e38c
bsr eax, edx
bsr ecx, edi
xor eax, 0x1f
xor ecx, 0x1f
add eax, 0x20
test edi, edi
cmovne eax, ecx
bsr ecx, esi
bsr edx, ebx
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
test ebx, ebx
cmovne ecx, edx
mov edx, dword [esp + 8]
add ecx, 0x40
or edi, edx
cmovne ecx, eax
mov eax, 0xffffc011
sub eax, ecx
jmp 0x49e391
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
xor eax, eax
neg ecx
mov ecx, 0
sbb ecx, ebx
mov ecx, 0
sbb ecx, edx
mov ecx, 0x7fff0000
sbb ecx, edi
adc eax, 0x7fffffff
jmp 0x49e391
lea eax, [esp + 0x110]
push dword [esp + 0x34]
push dword [esp + 0x34]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x20]
push dword [esp + 0x3c]
push dword [esp + 0x24]
push dword [esp + 0x38]
push eax
call fcn.0048f070
add esp, 0x24
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x100]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov esi, dword [esp + 0x11c]
push dword [esp + 0x58]
push dword [esp + 0x3c]
push dword [esp + 0x28]
push dword [esp + 0x30]
call fcn.00484ba0
add esp, 0x10
lea eax, [esp + 0x2f0]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
push esi
push ebx
push edi
push dword [esp + 0x20]
push eax
call fcn.0048f070
add esp, 0x24
movaps xmm0, xmmword [esp + 0x2f0]
jmp 0x49d5e6
add eax, 0xffffc001
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf8]
add eax, esi
mov dword [esp + 0xc], ecx
cmp eax, 0xffffc002
mov eax, dword [esp + 0xf4]
jl 0x49e41b
lea ecx, [esp + 0xe0]
push ebx
push edi
push eax
push dword [esp + 0x18]
push dword [esp + 0x28]
push edx
push dword [esp + 0x2c]
push dword [esp + 0x20]
push ecx
call fcn.0048f070
add esp, 0x24
mov edx, dword [esp + 0xe0]
lea ecx, [esp + 0x2d0]
push esi
push dword [esp + 0xf0]
push dword [esp + 0xf0]
push dword [esp + 0xf0]
call fcn.00484ba0
add esp, 0x10
movaps xmm0, xmmword [esp + 0x2d0]
jmp 0x49d5e6
mov edx, dword [esp + 4]
lea ecx, [esp + 0x2e0]
push esi
push ebx
push edi
push eax
push dword [esp + 0x1c]
push dword [esp + 0x2c]
push dword [esp + 0x20]
push dword [esp + 0x30]
call fcn.00485a00
add esp, 0x20
movaps xmm0, xmmword [esp + 0x2e0]
jmp 0x49d5e6