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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2c0ea0e
sub esp, 0x5c
mov edx, dword [esp + 0x60]
cmp edx, 2
jne 0x2c0e578
mov edx, dword [esp + 0x68]
test edx, edx
jne 0x2c0e54e
mov edx, dword [0x30f78d0]
mov ebx, dword [0x30f78d4]
mov ebp, dword [0x30f78d8]
jmp 0x2c0e55a
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
cmp ebx, 4
je 0x2c0e56f
cmp ebx, 0x10
jne 0x2c0e9c3
xor eax, eax
jmp 0x2c0e9d1
mov eax, edx
mov ecx, ebx
jmp 0x2c0e8ad
cmp edx, 0x17
jne 0x2c0e80b
mov eax, dword [esp + 0x68]
test eax, eax
je 0x2c0e5c8
mov ecx, dword [0x30f78d0]
mov edx, dword [0x30f78d4]
mov ebx, dword [0x30f78d8]
mov ebp, dword [esp + 0x64]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov esi, dword [esp + 0x6c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.02c0a4b0
movzx eax, byte [esp + 0x18]
test al, al
je 0x2c0e5dc
mov eax, dword [0x30f1d18]
mov ecx, dword [0x30f1d1c]
mov edx, dword [0x30f1d20]
jmp 0x2c0e5e8
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, 4
jne 0x2c0e6b1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
movzx ebx, byte [eax]
movzx ebp, byte [eax + 1]
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov edx, dword [0x30f1d28]
mov ecx, dword [0x30f1d2c]
cmp ecx, 0x10
jl 0x2c0e63e
mov ecx, 0x10
mov dword [esp + 0x54], eax
lea eax, [esp + 0x34]
cmp edx, eax
je 0x2c0e684
mov byte [esp + 0x1f], bl
xchg ebp, eax
mov byte [esp + 0x1e], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x1d], al
xchg esi, eax
xchg edi, eax
mov byte [esp + 0x1c], al
xchg edi, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.02b3f220
movzx ebx, byte [esp + 0x1f]
movzx ebp, byte [esp + 0x1e]
movzx esi, byte [esp + 0x1d]
movzx edi, byte [esp + 0x1c]
mov byte [esp + 0x40], bl
xchg ebp, eax
mov byte [esp + 0x41], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x42], al
xchg esi, eax
xchg edi, eax
mov byte [esp + 0x43], al
xchg edi, eax
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
lea eax, [esp + 0x34]
mov ecx, 0x10
jmp 0x2c0e6c4
cmp ecx, 0x10
jne 0x2c0e6bc
mov ebx, eax
mov ebp, ecx
jmp 0x2c0e6c4
mov ebx, eax
mov ebp, ecx
xor eax, eax
xor ecx, ecx
test eax, eax
je 0x2c0e775
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], ecx
lea eax, [0x30f7dc0]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.02c08b10
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
lea ecx, [0x2d26fa0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
jl 0x2c0e727
mov ecx, 0x10
lea edx, [eax + 8]
mov ebx, dword [esp + 0x44]
cmp ebx, edx
je 0x2c0e74a
mov dword [esp + 0x4c], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.02b3f220
mov eax, dword [esp + 0x4c]
lea ecx, [0x2da4694]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x5c
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.02c096b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0x2d1ca80]
mov dword [esp], edx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x2d43131]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c0e7d0
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
jmp 0x2c0e7e0
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.02b3e880
mov eax, ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x2da4478]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x5c
ret
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.02c096b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0x2d1ca80]
mov dword [esp], edx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x16
lea ecx, [0x2d45da0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c0e872
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
jmp 0x2c0e882
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.02b3e880
mov eax, ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x2da4478]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x5c
ret
test edx, edx
je 0x2c0e92d
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], edx
lea eax, [0x2d245e0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
cmp ecx, 4
jl 0x2c0e8df
mov ecx, 4
lea edx, [eax + 4]
mov ebx, dword [esp + 0x48]
cmp ebx, edx
je 0x2c0e902
mov dword [esp + 0x50], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.02b3f220
mov eax, dword [esp + 0x50]
lea ecx, [0x2da4680]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x5c
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.02c096b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
lea edx, [0x2d1ca80]
mov dword [esp], edx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
lea ecx, [0x2d43121]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c0e988
mov ecx, dword [esp + 0x58]
mov dword [eax + 8], ecx
jmp 0x2c0e998
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.02b3e880
mov eax, ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x2da4478]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x5c
ret
mov eax, edx
mov ecx, ebx
xor edx, edx
xor ebx, ebx
jmp 0x2c0e8ad
inc eax
cmp eax, 0xa
jge 0x2c0e9e4
jae 0x2c0ea03
movzx esi, byte [edx + eax]
xchg esi, eax
test al, al
xchg esi, eax
je 0x2c0e9d0
jmp 0x2c0e9c3
cmp byte [edx + 0xa], 0xff
jne 0x2c0e9c3
cmp byte [edx + 0xb], 0xff
jne 0x2c0e9c3
lea esi, [edx + 0xc]
mov eax, edx
mov ecx, ebx
mov edx, esi
mov ebx, 4
jmp 0x2c0e8ad
mov ecx, 0xa
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02c0e510