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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x2c28edb
sub esp, 0xf4
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax + 0x1a0]
test ecx, ecx
jg 0x2c28eba
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x2c286ec
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + ecx*4 - 4]
mov ebp, dword [ebx + 0x34]
mov ebx, dword [ebx + 0x30]
mov esi, dword [eax + 0x24]
cmp dword [eax + 0x28], ebp
jne 0x2c2867d
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.02ae2800
movzx eax, byte [esp + 0xc]
test al, al
je 0x2c28676
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x104]
jmp 0x2c286ec
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 5
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x2da47ac]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.02ae9050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
add esp, 0xf4
ret
mov edx, dword [esp + 0x10c]
test byte [edx], al
lea esi, [edx + 0x10]
lea edi, [esp + 0x90]
call fcn.02b3effe
lea edi, [esp + 0x7c]
lea esi, [esp + 0x90]
call fcn.02b3effe
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
test ebx, 0x80000000
je 0x2c28753
shl ebx, 1
mov ebp, ecx
shr ecx, 0x1f
or ebx, ecx
mov ecx, ebp
shl ebp, 1
mov esi, ebx
shl ebx, 1
shr ebp, 0x1f
or ebp, ebx
mov ebx, ebp
add ebp, 0xd7b17f80
shr esi, 0x1f
add ebx, 0xd7b17f80
adc esi, 0xd
jmp 0x2c28761
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
test esi, esi
sete bl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
je 0x2c28798
test ecx, 0x3fffffff
jne 0x2c28798
call fcn.02b5fbb0
lea edi, [esp + 0x90]
lea esi, [esp]
call fcn.02b3effe
mov eax, dword [esp + 0xf8]
lea esi, [eax + 0x158]
mov dword [esp + 0x48], esi
lea edi, [esp + 0xe0]
call fcn.02b3effe
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.02b3effe
lea edi, [esp + 0x14]
lea esi, [esp + 0xe0]
call fcn.02b3effe
call fcn.02b5dc50
movzx eax, byte [esp + 0x28]
test al, al
jne 0x2c28d2e
mov eax, dword [esp + 0xf8]
lea esi, [eax + 0x16c]
mov dword [esp + 0x48], esi
lea edi, [esp + 0xb8]
call fcn.02b3effe
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.02b3effe
lea edi, [esp + 0x14]
lea esi, [esp + 0xb8]
call fcn.02b3effe
call fcn.02b5db10
movzx eax, byte [esp + 0x28]
test al, al
jne 0x2c28ba2
mov eax, dword [esp + 0x10c]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x2c28840
mov eax, 0x3d090
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0xfc]
cmp ecx, 1
jne 0x2c2885f
mov edx, dword [esp + 0x104]
test edx, edx
jmp 0x2c2886d
cmp ecx, 2
jne 0x2c288b9
mov edx, dword [esp + 0x104]
test edx, edx
je 0x2c2887d
mov ebx, dword [esp + 0x100]
mov ebx, dword [ebx]
cmp ecx, 1
jmp 0x2c288c8
lea eax, [0x2d17160]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x38
lea ecx, [0x2d51e5e]
mov dword [eax], ecx
lea ecx, [0x2da439c]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
add esp, 0xf4
ret
cmp ecx, 1
mov edx, dword [esp + 0x104]
mov ebx, 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ebx
je 0x2c288db
cmp ecx, 2
jne 0x2c289a8
mov eax, dword [0x30f1b18]
mov ecx, dword [0x30f1b1c]
mov edx, dword [0x30f1b20]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [ebx + 0x184]
mov esi, dword [ebx + 0x188]
mov edi, dword [ebx + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.02c2c540
movzx eax, byte [esp + 0x18]
test al, al
jne 0x2c28945
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x3c]
xor ebp, ebp
jmp 0x2c289aa
mov eax, dword [0x30f1b28]
mov ecx, dword [0x30f1b2c]
mov edx, dword [0x30f1b30]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 0x184]
mov esi, dword [ebx + 0x188]
mov edi, dword [ebx + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.02c2c540
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x3c]
mov ebp, eax
mov eax, dword [esp + 0x2c]
jmp 0x2c289aa
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x2c289b8
cmp ecx, 1
jmp 0x2c28a4e
mov dword [esp], ebx
call fcn.02c2bdf0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea ebx, [0x2c28ef0]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x50], ebx
lea ebp, [esp + 0x30]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x58], ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], eax
call fcn.02c1fdf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x2c28b8d
mov eax, dword [esp + 0xfc]
cmp eax, 1
mov edx, dword [esp + 0x104]
jne 0x2c28ae0
mov eax, dword [esp + 0xf8]
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x2c28a71
movzx ecx, byte [eax + 0x1c1]
test cl, cl
jne 0x2c28ae7
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x2da47ac]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.02ae9050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x2c28b70
mov ecx, dword [eax + 0x1c4]
test ecx, ecx
jl 0x2c28b70
dec edx
cmp ecx, edx
jge 0x2c28b70
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 3
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x2da47ac]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.02ae9050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
add esp, 0xf4
ret
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
add esp, 0xf4
ret
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], edx
add esp, 0xf4
ret
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.02b3effe
lea eax, [0x2d4712f]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x19
call fcn.02b57ff0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0xa4]
mov esi, dword [esp + 0x48]
call fcn.02b3effe
lea edi, [esp]
lea esi, [esp + 0xa4]
call fcn.02b3effe
lea ecx, [0x2d4712f]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x19
call fcn.02b57ff0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
call fcn.02ae8ee0
mov eax, dword [esp + 8]
lea ecx, [0x2d0e5c0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.02ae8ee0
mov eax, dword [esp + 8]
lea ecx, [0x2d0e5c0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x2d48353]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9d3b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x2da47ac]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.02ae9050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
add esp, 0xf4
ret
lea edi, [esp]
lea esi, [esp + 0x90]
call fcn.02b3effe
lea eax, [0x2d4712f]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x19
call fcn.02b57ff0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
lea edi, [esp + 0xcc]
mov esi, dword [esp + 0x48]
call fcn.02b3effe
lea edi, [esp]
lea esi, [esp + 0xcc]
call fcn.02b3effe
lea ecx, [0x2d4712f]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x19
call fcn.02b57ff0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
call fcn.02ae8ee0
mov eax, dword [esp + 8]
lea ecx, [0x2d0e5c0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.02ae8ee0
mov eax, dword [esp + 8]
lea ecx, [0x2d0e5c0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x2d48a0d]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.02b9d3b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x2da47ac]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.02ae9050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
add esp, 0xf4
ret
lea eax, [0x2da47fc]
mov dword [esp + 0x110], eax
lea eax, [0x311e790]
mov dword [esp + 0x114], eax
add esp, 0xf4
ret
call fcn.02b3d440
jmp fcn.02c285f0