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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x210
mov esi, dword [ebp + 0x10]
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004bc490
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4bb3bf
test byte [esi + 0x24], 1
jne 0x4bb240
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
xor eax, eax
test ecx, ecx
je 0x4bae9c
mov dword [esp], ecx
call fcn.007ddf80
mov edi, dword [esp + 0x2c]
mov dword [esp + 4], 0xebc2a0
movzx ecx, byte [edi + 0x96]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*4 + 0x1b9]
add eax, ecx
mov dword [esp], eax
call fcn.004caa50
mov dword [esp + 0x38], eax
mov ebx, eax
test eax, eax
je 0x4bb5e0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x66c]
mov dword [ebx + 0x80], eax
mov eax, 0x3c8
test byte [edi + 0x91], 0x20
je 0x4baf01
movzx eax, byte [esi + 0x24]
and eax, 0x10
cmp al, 1
sbb eax, eax
and eax, 0x20
add eax, 0x408
movzx edx, byte [esi + 0x25]
mov ecx, dword [esi]
test dl, dl
jne 0x4bb3d0
test ecx, ecx
mov edi, 0xebc0ff
mov dword [esp + 0xc], 0xebc152
cmove ecx, edi
mov dword [esp + 0x10], ecx
lea ecx, [ebx + 0x28]
mov dword [esp + 8], ecx
add eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0048e060
mov eax, dword [esp + 0x2c]
test byte [eax + 0x91], 0x20
je 0x4baf70
test byte [esi + 0x24], 0x10
je 0x4bb2f8
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x4bb2f8
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x108], eax
mov dword [eax + 0x108], ebx
nop
movdqu xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
movdqu xmm0, xmmword [esi + 0x10]
movups xmmword [ebx + 0x10], xmm0
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x24], edx
mov dword [ebx + 0xbc], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0xb8], eax
movzx eax, byte [ebp + 0xc]
mov byte [ebx + 0x1b2], al
test byte [ebx + 0x24], 2
je 0x4bafb6
or byte [ebx + 0x1b6], 0x80
mov eax, dword [esi + 8]
mov edx, dword [ebp + 0x14]
mov dword [ebx + eax + 0x1b8], ebx
mov eax, dword [esi + 0xc]
mov dword [ebx + eax + 0x1b8], edx
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 4]
movzx edx, byte [edx + 0x96]
lea eax, [ebx + eax + 0x1b8]
mov dword [esp + 0x24], eax
test dl, dl
je 0x4bb040
mov edi, dword [esp + 0x2c]
lea ecx, [edx + edx*4]
mov dword [ebx + 0xc8], eax
lea ecx, [eax + ecx*4]
mov dword [esp + 0x28], ebx
add eax, 0x14
mov dword [esp + 0x24], ecx
mov edi, dword [edi + 0x18]
xor ecx, ecx
jmp 0x4bb028
mov dword [eax - 0x14], eax
mov edi, dword [edi]
add eax, 0x14
mov ebx, dword [edi + 4]
add ecx, 1
mov dword [eax - 0x10], ebx
cmp edx, ecx
jne 0x4bb020
mov dword [eax - 0x14], 0
mov ebx, dword [esp + 0x28]
mov edi, dword [esi]
test edi, edi
je 0x4bb065
mov dword [esp], edi
call fcn.007ddf80
mov dword [esp + 4], edi
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.007de188
test byte [esi + 0x24], 4
je 0x4bb06f
and byte [ebx + 0x24], 0xfb
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov dword [ebx], eax
imul eax, dword [ebp + 0xc], 0xf0
lea eax, [edx + eax + 0x1e0]
mov dword [esp + 4], eax
lea eax, [ebx + 0x88]
mov dword [esp], eax
call fcn.004ca380
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4bb0a4
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4bb0b7
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x20]
mov eax, dword [eax + 0x10]
mov dword [edx], eax
test byte [esi + 0x24], 4
jne 0x4bb2e8
mov eax, dword [ebx + 0xbc]
test byte [eax + 0x91], 0x80
je 0x4bb4a0
mov eax, dword [eax + 8]
test eax, eax
je 0x4bb0e4
cmp byte [eax], 0x21
je 0x4bb5ea
lea edx, [esp + 0x48]
xor eax, eax
mov ecx, 0x72
mov edi, edx
rep stosd dword es:[edi], eax
xor edi, edi
mov eax, dword [ebx + 0xbc]
mov esi, dword [eax + 4]
mov ecx, dword [eax + 8]
mov dword [esp + 0x174], esi
movzx esi, word [eax + 0x94]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x78], esi
mov esi, 0x1000
test ecx, ecx
je 0x4bb149
cmp byte [ecx], 0x2b
jne 0x4bb149
add ecx, 1
mov esi, 0x5000
xor edi, edi
mov dword [esp + 0x160], 0x4000
mov dword [esp + 0x48], ecx
mov dword [esp + 0x164], 0
movzx ecx, byte [eax + 0x97]
mov ecx, dword [ecx*4 + 0xebc54c]
test ecx, ecx
je 0x4bb652
mov ecx, dword [ecx + 8]
cmp dword [eax + 0x54], 0
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x40]
je 0x4bb17c
mov dword [esp + 0x40], 0xebd94c
lea ecx, [esp + 0x44]
mov dword [ecx], 0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1a0], ecx
test byte [eax + 0x90], 0x10
je 0x4bb1e0
mov ecx, dword [eax + 0x60]
test ecx, ecx
je 0x4bb6b2
mov eax, dword [eax + 0x64]
movd xmm1, dword [ecx + 8]
mov dword [esp + 0x160], esi
movd xmm0, dword [ecx + 0xc]
mov dword [esp + 0x164], edi
movd xmm2, dword [eax + 8]
punpckldq xmm1, xmm2
movq qword [esp + 0xc8], xmm1
movd xmm1, dword [eax + 0xc]
punpckldq xmm0, xmm1
movq qword [esp + 0xe8], xmm0
mov dword [esp + 4], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004985d0
test eax, eax
je 0x4bb673
mov dword [eax + 0x1bc], ebx
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.004b9800
cmp eax, 0xfffffffe
je 0x4bb395
mov eax, dword [ebx + 0xbc]
mov ebx, dword [eax + 4]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00489340
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0xebc1de
jmp 0x4bb2c1
test byte [eax + 0x91], 0x20
je 0x4bb418
mov dword [esp + 4], 0xebc2a0
mov dword [esp], 0x40
call fcn.004caa50
test eax, eax
je 0x4bb3bf
movdqu xmm0, xmmword [esi]
movups xmmword [eax + 0xc], xmm0
movdqu xmm0, xmmword [esi + 0x10]
movups xmmword [eax + 0x1c], xmm0
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], ecx
movzx edx, byte [eax + 0x30]
and edx, 0xffffffee
or edx, 0x10
mov byte [eax + 0x30], dl
mov edx, dword [ebp + 8]
mov dword [esp], eax
add edx, 0x69c
mov dword [esp + 4], edx
call fcn.004ca600
mov eax, dword [ebp + 8]
mov ebx, dword [esi]
mov dword [esp], eax
call fcn.00489340
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0xebc135
mov dword [esp + 0x10], 0xebc2a0
mov dword [esp + 0xc], 4
mov edx, dword [ebp + 8]
mov dword [esp + 4], 0x487a80
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0048e010
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x6a0]
test edi, edi
je 0x4bb444
mov eax, dword [esi]
mov dword [esp + 0x28], ebx
mov ebx, edi
mov edi, eax
jmp 0x4bb323
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x4bb440
mov dword [esp + 4], edi
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call fcn.007ddf68
test eax, eax
jne 0x4bb318
mov edi, ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x3c]
mov dword [esp + 8], 0x13
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x1b8]
mov dword [esp], eax
call dword [edi + 0x24]
test eax, eax
je 0x4bb550
mov dword [esp + 0x14], 0xebc155
mov dword [esp + 0x10], 0xebc2a0
mov dword [esp + 0xc], 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4b91d0
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call fcn.0048e010
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4bb3a5
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
add ebx, 0xd8
mov dword [esp], ebx
call fcn.004ca6a0
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.004ba870
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx edi, dl
test ecx, ecx
mov edx, 0xebc0ff
cmove ecx, edx
mov edx, dword [esi + 0x20]
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], 0xebc148
mov dword [esp + 0x10], ecx
lea ecx, [ebx + 0x28]
mov dword [esp + 0x18], edx
mov dword [esp + 8], ecx
add eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0048e060
jmp 0x4baf3e
mov eax, dword [esi]
mov dword [esp + 8], 0xebc2a0
mov dword [esp + 4], 0xebc10c
mov dword [esp + 0xc], eax
mov dword [esp], 1
call fcn.0048dfc0
jmp 0x4bb3bf
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx + 0x108]
test ecx, ecx
jne 0x4baf70
mov eax, dword [ebp + 8]
mov esi, dword [esi]
mov dword [esp], eax
call fcn.00489340
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0xebc184
mov dword [esp + 0x10], 0xebc2a0
mov dword [esp + 0xc], 1
mov edx, dword [ebp + 8]
mov dword [esp + 4], 0x487a80
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0048e010
jmp 0x4bb395
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.004b9800
cmp eax, 0xfffffffe
je 0x4bb395
mov ecx, dword [ebx + 0x108]
test ecx, ecx
je 0x4bb501
mov dword [esp + 4], 6
mov dword [esp], ebx
call fcn.004b9800
test eax, eax
jne 0x4bb395
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.004b9800
test eax, eax
jne 0x4bb395
mov edx, dword [ebx + 0x108]
test edx, edx
jne 0x4bb2e8
mov eax, dword [ebx + 0xbc]
test byte [eax + 0x90], 2
je 0x4bb2e8
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004b9d60
lea edx, [eax + 1]
and edx, 0xfffffffd
je 0x4bb6bc
cmp eax, 0xfffffffe
je 0x4bb395
xor eax, eax
jmp 0x4bb2ea
lea eax, [esp + 0x48]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
lea eax, [edi + 0xc]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004bae50
test eax, eax
jne 0x4bb635
mov eax, dword [esp + 0x48]
lea ecx, [edi + 0x34]
mov dword [esp + 4], ecx
add eax, 0xd8
mov dword [esp], eax
call fcn.004ca600
mov dword [esp + 0x14], 0xebc176
mov dword [esp + 0x10], 0xebc2a0
mov dword [esp + 0xc], 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4b91d0
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call fcn.0048e010
jmp 0x4bb444
mov eax, 2
jmp 0x4bb3c4
add eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00498fe0
test eax, eax
jne 0x4bb1f7
mov eax, dword [ebx + 0xbc]
mov eax, dword [eax + 8]
mov dword [esp + 8], 0xebc2a0
mov dword [esp + 4], 0xebc18f
add eax, 1
mov dword [esp], 1
mov dword [esp + 0xc], eax
call fcn.0048dfc0
jmp 0x4bb395
mov dword [esp + 0x14], 0xebc163
mov dword [esp + 0x10], 0xebc2a0
mov dword [esp + 0xc], 1
jmp 0x4bb37b
mov dword [esp + 8], 0xebc2a0
mov dword [esp + 4], 0xebc1a0
mov dword [esp], 1
call fcn.0048dfc0
jmp 0x4bb395
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00489340
mov dword [esp + 0x14], 0xebc1ca
mov dword [esp + 0x10], 0xebc2a0
mov dword [esp + 0xc], 1
mov edx, dword [ebp + 8]
mov dword [esp + 4], 0x487a80
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0048e010
jmp 0x4bb395
mov dword [esp + 0x14], 0xebc1b4
jmp 0x4bb63d
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], ebx
call fcn.004b9b10
jmp 0x4bb538