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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push dword [esp + 0x7c]
mov ebp, ecx
push 0
push dword [esp + 0x7c]
mov dword [esp + 0x64], ebp
push dword [esp + 0x7c]
push 3
push edx
push ebp
call fcn.0028621e
and dword [esp + 0x80], 0
xor edx, edx
mov dword [esp + 0x78], 0x4665e5
mov dword [esp + 0x7c], 0x5f2860
mov dword [esp + 0x28], 0xbe34
imul eax, dword [esp + 0x28], 0xd
push 0x5d
pop ecx
push 7
mov dword [esp + 0x2c], eax
add dword [esp + 0x2c], 0xffff7aca
xor dword [esp + 0x2c], 0x32beedea
xor dword [esp + 0x2c], 0x32b7de84
mov dword [esp + 0x60], 0xd779
add dword [esp + 0x60], 0xffffe42a
xor dword [esp + 0x60], 0xf32f4e21
xor dword [esp + 0x60], 0xf32f7582
mov dword [esp + 0x4c], 0xa9a8
mov eax, dword [esp + 0x4c]
div ecx
xor edx, edx
mov dword [esp + 0x4c], eax
imul eax, dword [esp + 0x4c], 0x54
pop ecx
push 0x78
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0xb93c
mov dword [esp + 0x28], 0xd14e
or dword [esp + 0x28], 0xdffd0ad7
add dword [esp + 0x28], 0x9d28
xor dword [esp + 0x28], 0xdffe6f07
mov dword [esp + 0x64], 0xe60e
shl dword [esp + 0x64], 0xf
xor dword [esp + 0x64], 0x73072eae
mov dword [esp + 0x50], 0x6d14
or dword [esp + 0x50], 0x88c1015f
shr dword [esp + 0x50], 8
xor dword [esp + 0x50], 0x888167
mov dword [esp + 0x38], 0x8354
imul eax, dword [esp + 0x38], 0x60
mov dword [esp + 0x38], eax
shl dword [esp + 0x38], 0xa
add dword [esp + 0x38], 0x98e
xor dword [esp + 0x38], 0xc4fe6eae
mov dword [esp + 0x34], 0x5a4c
shl dword [esp + 0x34], 0x10
shr dword [esp + 0x34], 4
imul eax, dword [esp + 0x34], 0x6f
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x726f59dc
mov dword [esp + 0x30], 0x35b
add dword [esp + 0x30], 0xffff93fb
mov eax, dword [esp + 0x30]
div ecx
xor edx, edx
mov dword [esp + 0x30], eax
shl dword [esp + 0x30], 0xf
xor dword [esp + 0x30], 0x1d182dcc
mov dword [esp + 0x70], 0xbdf2
or dword [esp + 0x70], 0x14ed52a4
xor dword [esp + 0x70], 0x14ede9e7
mov dword [esp + 0x3c], 0x2174
mov eax, dword [esp + 0x3c]
pop ecx
div ecx
mov dword [esp + 0x38], eax
or dword [esp + 0x38], 0x438fdb6d
xor edx, edx
mov eax, dword [esp + 0x38]
push 0x6f
pop ecx
div ecx
mov edx, dword [esp + 0x8c]
mov ecx, ebp
mov dword [esp + 0x38], eax
xor dword [esp + 0x38], 0x9bff27
mov dword [esp + 0x50], 0x211f
add dword [esp + 0x50], 0xffff5acd
shr dword [esp + 0x50], 9
xor dword [esp + 0x50], 0x7fa4f2
mov dword [esp + 0x68], 0x8635
add dword [esp + 0x68], 0xffff0156
xor dword [esp + 0x68], 0xffffa621
mov dword [esp + 0x58], 0xeccb
shr dword [esp + 0x58], 0x10
add dword [esp + 0x58], 0xa1e
xor dword [esp + 0x58], 0x74de
mov dword [esp + 0x40], 0x8050
or dword [esp + 0x40], 0xbdff92c
imul eax, dword [esp + 0x40], 0x7a
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 0x10
xor dword [esp + 0x40], 0x9201
mov dword [esp + 0x54], 0x9b4c
shl dword [esp + 0x54], 2
add dword [esp + 0x54], 0xffff8871
xor dword [esp + 0x54], 0x1d38c
mov dword [esp + 0x3c], 0x4177
imul eax, dword [esp + 0x3c], 0x57
mov dword [esp + 0x3c], eax
shr dword [esp + 0x3c], 9
or dword [esp + 0x3c], 0xbac52d73
xor dword [esp + 0x3c], 0xbac51ea0
mov dword [esp + 0x44], 0x9dd1
add dword [esp + 0x44], 0x2d85
shl dword [esp + 0x44], 0xc
xor dword [esp + 0x44], 0x8676c358
xor dword [esp + 0x44], 0x8ac3b8fb
mov dword [esp + 0x70], 0xa37f
shr dword [esp + 0x70], 5
xor dword [esp + 0x70], 0x2f6
mov dword [esp + 0x64], 0x3d81
shr dword [esp + 0x64], 0x10
xor dword [esp + 0x64], 0x40
push dword [esp + 0x60]
push dword [esp + 0x28]
call fcn.0028baa5
mov ebx, eax
add esp, 0x24
mov dword [esp + 0x44], ebx
test ebx, ebx
je 0x2999df
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0xc]
push esi
push eax
push ecx
push dword [esp + 0x1c]
push dword [esp + 0x58]
push dword [ebx + 0x50]
push dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
call fcn.00284ed2
mov esi, eax
add esp, 0x18
test esi, esi
je 0x2999dc
push edi
push dword [esp + 0x54]
push dword [esp + 0x40]
push dword [esp + 0x2c]
mov edx, dword [ebx + 0x54]
mov ecx, dword [esp + 0x64]
push ebp
push esi
call fcn.0028ba12
movzx eax, word [ebx + 6]
add esp, 0x14
movzx edi, word [ebx + 0x14]
imul ebp, eax, 0x28
add edi, 0x18
add edi, ebx
add ebp, edi
cmp edi, ebp
jae 0x2999ad
mov ebx, dword [esp + 0x60]
push dword [esp + 0x28]
mov eax, dword [edi + 0x14]
push dword [esp + 0x44]
mov ecx, dword [edi + 0xc]
add eax, ebx
push dword [esp + 0x34]
mov edx, dword [edi + 0x10]
add ecx, esi
cmp dword [edi + 8], edx
push eax
cmovb edx, dword [edi + 8]
push ecx
mov ecx, dword [esp + 0x58]
call fcn.0028ba12
add edi, 0x28
add esp, 0x14
cmp edi, ebp
jb 0x299974
mov ebx, dword [esp + 0x4c]
mov edx, ebx
mov ecx, esi
call fcn.0028642d
mov edx, ebx
mov ecx, esi
call fcn.00294ec9
pop edi
test eax, eax
jne 0x2999dc
push dword [esp + 0x58]
mov ecx, esi
push dword [esp + 0x48]
push dword [esp + 0x34]
call fcn.00281128
add esp, 0xc
xor esi, esi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret