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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x138
mov esi, dword [esp + 0x18c]
mov edi, dword [esp + 0x14c]
mov dword [esp + 0x28], 0
mov eax, dword [edi + 4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, 0x4000
cmp dword [esp + 0x154], 1
jne 0x29b2bf
push edi
call fcn.00279b10
add esp, 4
mov dword [esp + 0x18], eax
test esi, esi
je 0x29b2de
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x914]
test eax, eax
jne 0x29b363
jmp 0x29b2f0
mov dword [esp + 0x20], 0
mov eax, dword [edi + 0x914]
test eax, eax
jne 0x29b363
cmp dword [esp + 0x158], 0
je 0x29b34b
xor eax, eax
cmp dword [esp + 0x154], 0
sete bl
setne al
mov ecx, dword [edi + eax*4 + 0x91c]
mov dword [esp + 4], ecx
test ecx, ecx
jne 0x29b377
call fcn.00327120
push 0x79f1bb
push 0x4f9
push 0x79f16c
call fcn.00327220
add esp, 0xc
push 0
push 0xc0103
push 0x14
call fcn.00327310
add esp, 0xc
jmp 0x29ba61
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x70]
test byte [eax + 0x28], 8
jne 0x29b35e
mov eax, dword [0x88fe0c]
jmp 0x29b363
mov eax, dword [0x88fdd8]
mov dword [esp + 4], eax
xor eax, eax
cmp dword [esp + 0x154], 0
sete bl
setne al
lea ecx, [edi + eax*4]
add ecx, 0x91c
mov dword [esp + 8], ecx
lea ecx, [eax*4 + 0x924]
mov dword [esp + 0x1c], ecx
lea eax, [eax*4 + 0x24]
mov eax, dword [edi + eax]
mov dword [esp + 0x54], eax
lea eax, [edi + 0x788]
lea esi, [esp + 0x5c]
push eax
push 0x79f1d4
push esi
call fcn.00352c70
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xe4], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [esp + 0xd4], xmm0
lea ebp, [esp + 0xfc]
lea eax, [edi + 0x790]
push eax
push 0x79f1dc
push esi
call fcn.00352330
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xf8], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [esp + 0xe8], xmm0
mov byte [esp + 2], bl
test bl, bl
je 0x29b4ab
lea eax, [edi + 0x930]
lea ebx, [esp + 0x5c]
push eax
push 0x79f1e1
push ebx
call fcn.00352cc0
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov dword [ebp + 0x10], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [ebp], xmm0
lea eax, [edi + 0x934]
push eax
push 0x79f1f1
push ebx
call fcn.00351a10
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov dword [ebp + 0x24], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [ebp + 0x14], xmm0
push ebx
call fcn.00353f20
add esp, 4
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x134], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [esp + 0x124], xmm0
mov eax, dword [edi + 0xb4]
shr eax, 8
and eax, 1
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x3a8]
test cl, 1
mov ebx, dword [esp + 4]
je 0x29b4a4
mov dword [esp + 0x10], 1
test cl, 4
jne 0x29b515
jmp 0x29b51d
lea eax, [edi + 0x960]
push eax
push 0x79f1fc
push esi
call fcn.00352cc0
add esp, 0xc
mov eax, dword [esp + 0x6c]
mov dword [ebp + 0x10], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [ebp], xmm0
push esi
call fcn.00353f20
add esp, 4
mov eax, dword [esp + 0x6c]
mov dword [ebp + 0x24], eax
movups xmm0, xmmword [esp + 0x5c]
movups xmmword [ebp + 0x14], xmm0
mov eax, dword [edi + 0xb4]
shr eax, 0xa
and eax, 1
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x3a8]
test cl, 2
mov ebx, dword [esp + 4]
je 0x29b510
mov dword [esp + 0x10], 1
test cl, 8
je 0x29b51d
mov dword [esp + 0xc], 1
test eax, eax
je 0x29b54e
lea esi, [esp + 0x70]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
push 0x79f20a
push ecx
call fcn.00351a10
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esp + 0x5c], xmm0
cmp dword [esp + 0x10], 0
je 0x29b580
lea ebp, [esi + 0x14]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x2c]
push eax
push 0x79f212
push ecx
call fcn.00351a10
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], eax
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esi], xmm0
mov esi, ebp
cmp dword [esp + 0xc], 0
je 0x29b5b2
lea ebp, [esi + 0x14]
lea eax, [esp + 0xc]
lea ecx, [esp + 0x2c]
push eax
push 0x79f21d
push ecx
call fcn.00351a10
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], eax
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esi], xmm0
mov esi, ebp
movzx edx, byte [esp + 2]
test dl, dl
je 0x29b5e1
mov eax, dword [edi + 0x71c]
test eax, eax
je 0x29b5e1
movzx ecx, byte [eax + 0x300]
mov eax, ecx
dec al
cmp al, 3
ja 0x29b5e1
mov eax, 0x100
shl eax, cl
mov dword [esp + 0x18], eax
jmp 0x29b5eb
cmp dword [esp + 0x18], 0x4000
je 0x29b61b
lea ebp, [esi + 0x14]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x2c]
push eax
push 0x79f225
push ecx
call fcn.00351e10
movzx edx, byte [esp + 0xe]
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], eax
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esi], xmm0
mov esi, ebp
mov eax, dword [edi + 0x38]
test eax, eax
sete cl
xor dl, 1
or cl, dl
mov byte [esp + 3], dl
jne 0x29b669
mov eax, dword [esp + 0x158]
dec eax
cmp eax, 2
jae 0x29b6dc
cmp dword [edi + 0x854], 2
mov eax, dword [edi + 0xe84]
jne 0x29b65f
mov ecx, dword [edi + 0x71c]
mov ecx, dword [ecx + 0x2f4]
cmp eax, ecx
cmovae eax, ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x29b6b1
jmp 0x29b6dc
cmp dword [esp + 0x154], 1
jne 0x29b6dc
cmp dword [esp + 0x158], 1
jne 0x29b6dc
test eax, eax
jne 0x29b6dc
mov eax, dword [edi + 0x71c]
mov eax, dword [eax + 0x2f4]
test eax, eax
jne 0x29b6ad
mov eax, dword [edi + 0x720]
test eax, eax
je 0x29ba93
mov eax, dword [eax + 0x2f4]
test eax, eax
je 0x29ba93
mov dword [esp + 0x14], eax
lea ebp, [esi + 0x14]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
push 0x79f232
push ecx
call fcn.00352330
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], eax
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esi], xmm0
mov esi, ebp
lea eax, [esp + 0x2c]
push eax
call fcn.00353f20
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], eax
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esi], xmm0
movzx ecx, byte [esp + 2]
test cl, cl
je 0x29b73b
jmp 0x29b780
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov esi, 0x142
mov ebp, 0x598
cmp eax, ebx
movzx ecx, byte [esp + 2]
je 0x29ba3b
test eax, eax
je 0x29ba3b
mov ebx, eax
test cl, cl
jne 0x29b780
xor ebp, ebp
cmp dword [esp + 0x158], 0
je 0x29b770
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + 0x28]
and eax, 8
je 0x29b770
push 2
push edi
call fcn.0029af50
add esp, 8
mov esi, eax
xor eax, eax
jmp 0x29b7ec
xor eax, eax
xor esi, esi
jmp 0x29b7ec
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + 0x28]
xor esi, esi
mov ebp, dword [edi + 0x92c]
cmp dword [esp + 0x158], 0
je 0x29b7b8
mov ecx, eax
and ecx, 8
je 0x29b7b8
push 1
push edi
call fcn.0029af50
add esp, 8
mov esi, eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + 0x28]
test al, 8
jne 0x29b7d0
call fcn.002f4de0
jmp 0x29b7d5
call fcn.002f3190
push eax
call fcn.002ed520
add esp, 4
test eax, eax
je 0x29ba31
mov dword [edi + 0x92c], eax
mov dword [esp + 4], ebp
mov ecx, dword [0x79f248]
mov dword [esp + 0x2c], ecx
mov ecx, dword [fcn.002ad6e0]
mov dword [esp + 0x30], ecx
cmp dword [edi + 0x364], 0
je 0x29b830
mov ebp, ebx
mov ecx, dword [0x79f250]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x79f254]
mov dword [esp + 0x38], ecx
mov ecx, 2
lea edx, [esp + 0x3c]
jmp 0x29b83b
mov ebp, ebx
mov ecx, 1
lea edx, [esp + 0x34]
mov ebx, dword [0x79f258]
mov dword [edx], ebx
mov ebx, dword [0x79f25c]
mov dword [edx + 4], ebx
cmp dword [edi + 0x958], 0
je 0x29b870
mov edx, dword [0x79f260]
mov dword [esp + ecx*8 + 0x34], edx
mov edx, dword [0x79f264]
mov dword [esp + ecx*8 + 0x38], edx
add ecx, 2
jmp 0x29b871
inc ecx
mov ebx, ebp
mov dword [esp + ecx*8 + 0x30], 0
mov dword [esp + ecx*8 + 0x2c], 0
movzx ecx, si
lea edx, [esp + 0x28]
push edx
push dword [edi + 0x918]
push edi
lea edx, [esp + 0x38]
push edx
lea edx, [esp + 0xe4]
push edx
lea edx, [esp + 0x70]
push edx
push 0
push 0
push eax
push dword [esp + 0x78]
mov ebp, dword [esp + 0x2c]
push ebp
push dword [esp + 0x1bc]
push dword [esp + 0x50]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push dword [esp + 0x1bc]
push ecx
push dword [esp + 0x1c0]
push dword [esp + 0x1c0]
push dword [edi + 0x38]
push dword [esp + 0x1c4]
mov eax, dword [esp + 0xd0]
push dword [eax + 0x280]
push dword [eax]
call dword [ebx]
add esp, 0x80
mov esi, eax
push ebp
call fcn.002ed530
add esp, 4
cmp esi, 0xffffffff
je 0x29b710
cmp esi, 0xfffffffe
movzx ecx, byte [esp + 2]
je 0x29ba19
cmp esi, 1
jne 0x29ba25
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x70]
test byte [eax + 0x28], 8
sete al
or cl, al
mov esi, dword [esp + 0x1c]
jne 0x29b999
mov eax, dword [edi + 0x360]
push dword [eax + 0x114]
call fcn.002c2cf0
add esp, 4
test eax, eax
jne 0x29b9b4
mov eax, dword [esp + 8]
mov eax, dword [eax]
test eax, eax
je 0x29b9b4
push dword [edi + esi]
call dword [eax + 4]
add esp, 4
test eax, eax
je 0x29ba6e
mov eax, dword [esp + 0x28]
mov dword [edi + esi], eax
mov eax, dword [esp + 8]
mov dword [eax], ebx
movzx eax, byte [esp + 3]
mov ebx, dword [edi + eax*4 + 0x91c]
mov esi, dword [edi + eax*4 + 0x924]
cmp dword [edi + 0x1a4], 0
je 0x29b9e6
cmp dword [edi + 0x228], 0
jne 0x29b9f5
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x29b9f5
push 1
push esi
call eax
add esp, 8
mov ecx, dword [edi + 0x7b0]
mov eax, 1
test ecx, ecx
je 0x29ba63
mov edx, dword [ebx + 0x3c]
test edx, edx
je 0x29ba63
push ecx
push esi
call edx
mov eax, 1
add esp, 8
jmp 0x29ba63
mov esi, 0x139
mov ebp, 0x58c
jmp 0x29ba3b
mov esi, 0xc0103
mov ebp, 0x5a0
jmp 0x29ba3b
mov esi, 0xc0103
mov ebp, 0x563
call fcn.00327120
push 0x79f1bb
push ebp
push 0x79f16c
call fcn.00327220
add esp, 0xc
push 0
push esi
push 0x50
push edi
call fcn.002ad620
add esp, 0x10
xor eax, eax
add esp, 0x138
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00327120
push 0x79f1bb
push 0x5b1
push 0x79f16c
call fcn.00327220
add esp, 0xc
push 0
push 0xc0103
jmp 0x29ba56
call fcn.00327120
push 0x79f2a1
push 0x7f
push 0x79f16c
call fcn.00327220
add esp, 0xc
push 0
push 0xc0103
push 0x50
push edi
call fcn.002ad620
add esp, 0x10
mov dword [esp + 0x14], 0
jmp 0x29b6dc