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

Disassembly:
mov ecx, dword [esp + 0xc]
sub esp, 0x40
push ebx
xor ebx, ebx
cmp ecx, ebx
push esi
mov esi, eax
je 0xcc341
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0xcc341
push ebp
mov ebp, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
add edx, ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x40], ebx
adc dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x30]
push edi
mov edi, dword [esp + 0x64]
add edi, ecx
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0x34]
adc ebx, edx
mov dword [esp + 0x3c], ebx
xor ebx, ebx
cmp ebp, ebx
mov dword [esp + 0x38], edi
je 0xcbe28
and ebp, 0xffffff00
cmp ebp, 0xc2c42400
jne 0xcbe28
mov ebx, dword [esp + 0x78]
and ebx, 0xf
mov ebp, dword [eax + ebx*8 + 0x40]
mov eax, dword [eax + ebx*8 + 0x44]
sub ebp, ecx
sbb eax, edx
add edi, ebp
adc dword [esp + 0x3c], eax
xor ebx, ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x78], ebx
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov eax, 0x20005
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
mov eax, 0x20005
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr ecx, 0xe
shr eax, 0xe
cmp ecx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
jbe 0xcbe68
mov eax, ecx
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
add eax, 1
mov dword [esp + 0x64], eax
mov eax, 0x200401
mul ebp
sub ebp, edx
shr ebp, 1
add ebp, edx
shr ebp, 0xa
mov eax, edi
add ebp, 1
call fcn.000b6530
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
shr edx, 3
and edx, 1
or edx, 0xd3d05566
push edx
push 0x180
mov ecx, edi
mov eax, esi
call fcn.0006a110
mov eax, dword [0x4e73e0]
test byte [eax + 0x23b1], 2
je 0xcbee5
push 1
push 0x200
mov ecx, edi
mov eax, esi
call fcn.0006a110
push 1
push 0x21c
mov ecx, edi
mov eax, esi
call fcn.0006a110
mov eax, dword [esp + 0x5c]
call fcn.000c76e0
mov edx, dword [esi + 0x8c]
mov ebx, edi
shl ebx, 0xd
mov ecx, ebx
or ecx, 0x40184
mov dword [edx], ecx
mov ecx, dword [esi + 0x8c]
mov dword [ecx + 4], eax
add dword [esi + 0x8c], 8
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcbf28
mov eax, esi
call fcn.000b5d70
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x78]
push edx
push 0x188
mov ecx, edi
call fcn.000c7690
push 0x101
push 0x324
mov ecx, edi
mov eax, esi
call fcn.0006a110
cmp dword [esp + 0x64], 1
jbe 0xcc1b9
mov ecx, dword [esp + 0x70]
mov eax, 0x20005
mul ecx
mov eax, dword [esp + 0x74]
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0xe
add ecx, 1
test eax, eax
mov dword [esp + 0x64], ecx
jbe 0xcc2f5
mov dword [esp + 0x58], eax
xor ebp, ebp
xor edi, edi
test ecx, ecx
jbe 0xcc183
mov edx, dword [esp + 0x28]
mov eax, ebx
or eax, 0x8030c
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
add eax, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, ebx
or eax, 0x80314
mov dword [esp + 0x1c], eax
mov eax, ebx
or eax, 0x8031c
mov dword [esp + 0x20], eax
mov eax, ebx
or eax, 0x40328
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], ecx
mov edi, edi
mov eax, dword [0x4e73e0]
test byte [eax + 0x23b1], 2
je 0xcc054
mov edx, dword [esi + 0x8c]
mov ecx, ebx
or ecx, 0x80238
mov dword [edx], ecx
mov edx, dword [esi + 0x8c]
mov eax, ebp
add eax, dword [esp + 0x28]
mov ecx, edi
adc ecx, dword [esp + 0x2c]
add eax, dword [esp + 0x40]
mov eax, ebp
adc ecx, dword [esp + 0x44]
add eax, dword [esp + 0x30]
mov dword [edx + 4], ecx
mov edx, dword [esi + 0x8c]
mov ecx, edi
adc ecx, dword [esp + 0x34]
add eax, dword [esp + 0x38]
adc ecx, dword [esp + 0x3c]
mov dword [edx + 8], ecx
add dword [esi + 0x8c], 0xc
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcc054
mov eax, esi
call fcn.000b5d70
mov eax, dword [esi + 0x8c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x8c]
mov ecx, dword [esp + 0x18]
add edx, ebp
mov dword [eax + 4], edx
mov edx, dword [esi + 0x8c]
add ecx, ebp
mov dword [edx + 8], ecx
add dword [esi + 0x8c], 0xc
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcc09a
mov eax, esi
call fcn.000b5d70
mov eax, dword [esi + 0x8c]
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov edx, dword [esi + 0x8c]
mov eax, 0x7fff
mov dword [edx + 4], eax
mov ecx, dword [esi + 0x8c]
mov dword [ecx + 8], eax
add dword [esi + 0x8c], 0xc
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcc0d9
mov eax, esi
call fcn.000b5d70
mov eax, dword [esp + 0x70]
sub eax, ebp
mov ecx, 0
sbb ecx, edi
mov dword [esp + 0x4c], ecx
ja 0xcc0f3
cmp eax, 0x7fff
jbe 0xcc0f8
mov eax, 0x7fff
mov edx, dword [esi + 0x8c]
mov ecx, dword [esp + 0x20]
mov dword [edx], ecx
mov edx, dword [esi + 0x8c]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x8c]
mov dword [eax + 8], 1
add dword [esi + 0x8c], 0xc
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcc136
mov eax, esi
call fcn.000b5d70
mov ecx, dword [esi + 0x8c]
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
mov eax, dword [esi + 0x8c]
mov dword [eax + 4], 0
add dword [esi + 0x8c], 8
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcc16b
mov eax, esi
call fcn.000b5d70
add ebp, 0x7fff
adc edi, 0
sub dword [esp + 0x74], 1
jne 0xcbfe0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
add dword [esp + 0x28], edx
mov eax, 0
adc dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
add dword [esp + 0x30], eax
mov eax, 0
adc dword [esp + 0x34], eax
sub dword [esp + 0x58], 1
jne 0xcbf86
mov edi, dword [esp + 0x54]
jmp 0xcc2f5
test ebp, ebp
jbe 0xcc2f5
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
or ebx, 0x40328
mov dword [esp + 0x5c], ebx
mov ebx, eax
shl ebx, 0xb
sub ebx, eax
mov eax, ecx
shl eax, 0xb
sub eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], ebp
lea esp, [esp]
mov ecx, dword [0x4e73e0]
test byte [ecx + 0x23b1], 2
je 0xcc22f
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
adc eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
adc edx, dword [esp + 0x44]
push eax
push edx
push 0x238
mov ecx, edi
mov eax, esi
call fcn.000a9d70
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
add eax, ecx
push eax
mov eax, dword [esp + 0x2c]
add edx, eax
push edx
push 0x30c
mov ecx, edi
mov eax, esi
call fcn.000a9d70
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
push edx
push 0x314
mov ecx, edi
mov eax, esi
call fcn.000a9d70
mov ebp, dword [esp + 0x74]
cmp ebp, 0x7ff
mov eax, 0x7ff
ja 0xcc27e
mov eax, ebp
push eax
mov eax, dword [esp + 0x74]
push eax
push 0x31c
mov ecx, edi
mov eax, esi
call fcn.000a9d70
mov ecx, dword [esi + 0x8c]
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
mov eax, dword [esi + 0x8c]
mov dword [eax + 4], 0
add dword [esi + 0x8c], 8
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0xcc2c7
mov eax, esi
call fcn.000b5d70
add dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x20]
mov eax, 0
adc dword [esp + 0x2c], eax
add dword [esp + 0x30], ecx
adc dword [esp + 0x34], eax
sub ebp, 0x7ff
sub dword [esp + 0x54], 1
mov dword [esp + 0x74], ebp
jne 0xcc1f0
mov eax, dword [0x4e73e0]
test byte [eax + 0x2383], 0x80
je 0xcc33f
cmp dword [esp + 0x78], 0
jne 0xcc314
mov edx, dword [esp + 0x60]
test byte [edx + 4], 8
jne 0xcc33f
test byte [eax + 0x2386], 4
jne 0xcc33f
push 0
push 4
push 0
push 0
push 0
push 0
push 0xd3d05566
push 0xd3d05567
mov edx, 0xd3d03902
mov eax, esi
call fcn.000c6a90
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x40
ret 0x28