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

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [eax]
test ebx, ebx
push ebp
push esi
push edi
je 0x2da1d2
cmp byte [ebx + 0xf8], 0
jne 0x2da1c4
mov ebp, dword [esp + 0x1c]
mov dword [ebx + 0x58], ebp
add ebp, 7
sar ebp, 3
cmp ebp, dword [ebx + 0x50]
je 0x2da078
cmp ebp, dword [ebx + 0x54]
mov dword [ebx + 0x50], ebp
jle 0x2da078
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
lea ecx, [ebp*4]
push ecx
mov ecx, dword [eax + 4]
push ecx
call dword [eax]
mov edx, dword [ebx + 0x50]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x54], edx
jmp 0x2da07c
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0x50]
mov edi, dword [ebx + 0x4c]
add ecx, ecx
add ecx, ecx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
cmp dword [esp + 0x20], 0
rep stosb byte es:[edi], al
jne 0x2da0ae
mov eax, dword [esp + 0x1c]
push esi
lea esi, [ebx + 0x5c]
call fcn.002ac9a0
mov esi, dword [esp + 0x14]
cmp ebp, dword [ebx + 0x70]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x78], eax
je 0x2da0db
cmp ebp, dword [ebx + 0x74]
mov dword [ebx + 0x70], ebp
jle 0x2da0db
mov eax, dword [esi]
lea ecx, [ebp*4]
push ecx
mov ecx, dword [eax + 4]
push ecx
call dword [eax]
mov edx, dword [ebx + 0x70]
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x74], edx
mov ecx, dword [ebx + 0x70]
mov edi, dword [ebx + 0x6c]
add ecx, ecx
add ecx, ecx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
cmp ebp, dword [ebx + 0x80]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x88], eax
je 0x2da131
cmp ebp, dword [ebx + 0x84]
mov dword [ebx + 0x80], ebp
jle 0x2da131
mov esi, dword [esi]
mov ecx, dword [esi + 4]
add ebp, ebp
add ebp, ebp
push ebp
push ecx
call dword [esi]
mov edx, dword [ebx + 0x80]
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x84], edx
mov ecx, dword [ebx + 0x80]
mov edi, dword [ebx + 0x7c]
add ecx, ecx
add ecx, ecx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov esi, dword [ebx + 0x38]
test esi, esi
je 0x2da18f
cmp dword [esi + 0x14], 0
je 0x2da189
cmp byte [esi + 0x2c], 0
je 0x2da170
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x10]
push eax
lea eax, [ebx + 0x7c]
call fcn.002aca50
cmp dword [esp + 0x20], 0
jne 0x2da189
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x20]
mov ecx, dword [esi + 0x10]
push edx
lea eax, [ebx + 0x5c]
call fcn.002aca50
mov esi, dword [esi]
test esi, esi
jne 0x2da155
mov eax, dword [esp + 0x14]
push 0
push 0
push 0x2d99c0
push ebx
push eax
call fcn.002a8a90
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x2da1c4
lea ebx, [ebx]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x2da1be
mov dword [ecx + 0x20], 0
mov eax, dword [eax]
test eax, eax
jne 0x2da1b0
mov ebx, dword [ebx + 0xf0]
test ebx, ebx
jne 0x2da032
mov eax, dword [esp + 0x14]
mov edi, 1
cmp dword [eax + 0x170], edi
jle 0x2da25d
mov ecx, dword [eax + 0x178]
mov ebx, dword [ecx + edi*4]
mov ebp, dword [ebx]
cmp byte [ebp + 0xf8], 0
jne 0x2da24e
mov esi, dword [ebx + 8]
lea ebx, [ebx]
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x2da242
mov eax, dword [eax + 0x14]
test eax, eax
je 0x2da242
mov eax, dword [eax + 4]
cmp eax, 0x16
je 0x2da21b
cmp eax, 0x17
jne 0x2da242
sub esp, 0x10
lea edx, [ebx + 0x10]
mov ecx, dword [edx]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esi + 0x7c]
push eax
call fcn.002acba0
cmp esi, ebp
je 0x2da24e
mov esi, dword [esi + 0xf0]
jmp 0x2da200
mov eax, dword [esp + 0x14]
add edi, 1
cmp edi, dword [eax + 0x170]
jl 0x2da1e3
mov ecx, dword [esp + 0x18]
mov ebp, dword [ecx]
test ebp, ebp
je 0x2da2cc
jmp 0x2da270
mov eax, dword [esp + 0x14]
lea ecx, [ecx]
cmp byte [ebp + 0xf8], 0
jne 0x2da2c2
push ebp
push 0
push 0x2d9a70
push 0x2d99e0
push ebp
xor ebx, ebx
mov edi, eax
call fcn.002a8dc0
cmp dword [ebp + 0x14], ebx
je 0x2da2c2
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x2da2c2
lea esp, [esp]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x2da2bc
cmp dword [eax + 4], 0x24
jne 0x2da2bc
mov edx, dword [eax + 0x20]
mov ecx, dword [esi + 0x10]
push edx
lea eax, [ebp + 0x4c]
call fcn.002aca50
mov esi, dword [esi]
test esi, esi
jne 0x2da2a0
mov ebp, dword [ebp + 0xf0]
test ebp, ebp
jne 0x2da269
pop edi
pop esi
pop ebp
pop ebx
ret 0x10