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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x2c7b954
sub esp, 0xb8
mov edx, dword [esp + 0xbc]
mov dword [edx + 0x40], 0
movzx ebx, byte [edx + 0x30]
test bl, bl
je 0x2c7b144
mov byte [edx + 0x30], 0
mov ebx, dword [edx + 0x28]
cmp dword [edx + 0x20], ebx
jbe 0x2c7b56b
mov dword [esp + 0x4c], ebx
cmp ebx, 0x1f
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [edx + 0x40]
mov dword [esp + 0x6c], eax
mov ecx, ebx
mov ebx, dword [edx + 0x44]
mov esi, edx
mov edx, dword [edx + 0x3c]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x2c7b0ed
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x2c7b0e5
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xbc]
mov byte [edx + eax], cl
jmp 0x2c7b916
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x2c7b130
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xbc]
add ecx, 0xffffffe1
mov byte [edx + eax], 0x1f
mov edi, 0xffffffff
adc edi, 0
jmp 0x2c7b80c
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0xc0]
call fcn.02b3effe
call fcn.02c7b960
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x44], edx
test al, al
je 0x2c7b239
cmp ecx, 0x7f
setb bl
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0xbc]
mov eax, dword [esi + 0x40]
mov dword [esp + 0x68], eax
mov edi, edx
mov edx, dword [esi + 0x44]
mov esi, dword [esi + 0x3c]
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x2c7b1f5
lea ebx, [eax + 1]
cmp edx, ebx
jae 0x2c7b1e6
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add ecx, 0xffffff81
mov byte [esi + eax], 0x7f
adc edi, 0xffffffff
jmp 0x2c7b469
lea ebx, [eax + 1]
cmp edx, ebx
jae 0x2c7b231
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
mov byte [esi + eax], cl
jmp 0x2c7b404
lea edi, [esp + 0xa4]
lea esi, [esp + 0xc0]
call fcn.02b3effe
movzx eax, byte [esp + 0xb4]
test al, al
je 0x2c7b263
mov ecx, dword [esp + 0xbc]
xor eax, eax
jmp 0x2c7b294
lea edi, [esp + 0x90]
lea esi, [esp + 0xc0]
call fcn.02b3effe
mov eax, dword [esp + 0x94]
add eax, dword [esp + 0x9c]
add eax, 0x20
mov ecx, dword [esp + 0xbc]
cmp dword [ecx + 0x20], eax
setae al
test al, al
je 0x2c7b2c4
mov byte [esp + 0x3b], al
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0xc0]
call fcn.02b3effe
call fcn.02c7c6f0
movzx eax, byte [esp + 0x3b]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
mov esi, ebx
sete bl
and ebx, ebp
test bl, bl
je 0x2c7b33d
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x40]
mov ebp, dword [ecx + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
lea edi, [esp + 0xc]
lea esi, [esp + 0xc0]
call fcn.02b3effe
mov byte [esp + 0x20], al
call fcn.02c7ba70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xbc]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c7b333
mov dword [ebx + 0x3c], eax
jmp 0x2c7b3a4
lea edi, [ebx + 0x3c]
call fcn.02b3e880
jmp 0x2c7b3a4
mov ebx, dword [ecx + 0x3c]
mov ebp, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
lea edi, [esp + 0xc]
mov ebx, esi
lea esi, [esp + 0xc0]
call fcn.02b3effe
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x28], al
call fcn.02c7bb80
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xbc]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c7b39c
mov dword [ebx + 0x3c], eax
jmp 0x2c7b3a4
lea edi, [ebx + 0x3c]
call fcn.02b3e880
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x40]
mov esi, dword [ebx + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x2c7b3ef
mov ebx, dword [esp + 0xbc]
cmp dword [ebx + 0x40], eax
je 0x2c7b3ef
mov ecx, dword [0x30f7378]
mov edx, dword [0x30f737c]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
add esp, 0xb8
ret
cmp ebx, eax
jbe 0x2c7b43f
movzx ecx, byte [esi + eax]
or ecx, 0xffffff80
mov byte [esi + eax], cl
mov ecx, dword [esp + 0xbc]
mov dword [ecx + 0x40], ebx
mov dword [ecx + 0x44], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2c7b42e
mov dword [ecx + 0x3c], esi
jmp 0x2c7b438
lea edi, [ecx + 0x3c]
mov eax, esi
call fcn.02b3e880
mov ebx, ecx
jmp 0x2c7b3a4
mov ecx, ebx
call fcn.02b3e900
and ecx, 0x7f
or ecx, 0x80
mov byte [esi + ebx], cl
mov ecx, dword [esp + 0x50]
shr ecx, 7
mov ebx, edi
shl edi, 0x19
or ecx, edi
shr ebx, 7
mov edi, ebx
mov ebx, edx
mov edx, ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x8c], esi
test edi, edi
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ecx, 0x80
setae dl
and edx, esi
or edx, ebp
test dl, dl
je 0x2c7b506
lea edx, [ebx + 1]
mov ebp, dword [esp + 0x80]
cmp ebp, edx
jb 0x2c7b4b7
mov esi, dword [esp + 0x8c]
jmp 0x2c7b446
mov dword [esp + 0x54], edi
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x54]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x2c7b446
lea edx, [ebx + 1]
mov ebp, dword [esp + 0x80]
cmp ebp, edx
jb 0x2c7b51d
mov esi, dword [esp + 0x8c]
jmp 0x2c7b55f
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x70]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x68]
mov byte [esi + ebx], cl
mov ebx, edx
mov edx, ebp
jmp 0x2c7b404
mov dword [edx + 0x28], 0xffffffff
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x3c], ebx
cmp ebx, 0x1f
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [edx + 0x40]
mov dword [esp + 0x64], eax
mov ecx, ebx
mov ebx, dword [edx + 0x44]
mov esi, edx
mov edx, dword [edx + 0x3c]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x2c7b5f4
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x2c7b5e0
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xbc]
add ecx, 0xffffffe1
mov byte [edx + eax], 0x1f
mov edi, 0xffffffff
adc edi, 0
jmp 0x2c7b6b6
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x2c7b637
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xbc]
mov byte [edx + eax], cl
cmp ebp, eax
jbe 0x2c7b66e
movzx ecx, byte [edx + eax]
or ecx, 0x20
mov byte [edx + eax], cl
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ebx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c7b65d
mov dword [esi + 0x3c], edx
jmp 0x2c7b667
lea edi, [esi + 0x3c]
mov eax, edx
call fcn.02b3e880
mov edx, esi
jmp 0x2c7b144
mov ecx, ebp
call fcn.02b3e900
and ecx, 0x7f
or ecx, 0x80
mov esi, dword [esp + 0x88]
mov byte [esi + edx], cl
mov ecx, dword [esp + 0x48]
shr ecx, 7
mov edx, edi
shl edi, 0x19
or ecx, edi
shr edx, 7
mov esi, dword [esp + 0xbc]
mov edi, edx
mov edx, dword [esp + 0x88]
mov edx, ebx
mov ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0x48], ecx
cmp ecx, 0x80
setae dl
test edi, edi
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x2c7b758
mov edx, dword [esp + 0x74]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
jae 0x2c7b675
mov dword [esp + 0x5c], edi
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x88], edx
mov ebp, ebx
mov edx, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0x64]
jmp 0x2c7b675
mov edx, dword [esp + 0x74]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
jb 0x2c7b770
mov edi, dword [esp + 0x88]
jmp 0x2c7b7bb
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0xbc]
mov edi, edx
mov ebp, ebx
mov edx, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0x64]
mov byte [edi + edx], cl
mov edx, edi
mov ecx, ebp
mov ebp, ebx
mov ebx, ecx
jmp 0x2c7b63a
and ecx, 0x7f
or ecx, 0x80
mov esi, dword [esp + 0x84]
mov byte [esi + edx], cl
mov ecx, dword [esp + 0x4c]
shr ecx, 7
mov edx, edi
shl edi, 0x19
or ecx, edi
shr edx, 7
mov esi, dword [esp + 0xbc]
mov edi, edx
mov edx, dword [esp + 0x84]
mov edx, ebp
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x78], ebx
cmp ecx, 0x80
setae dl
test edi, edi
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, edx
or ebx, ebp
test bl, bl
je 0x2c7b8a8
mov edx, dword [esp + 0x60]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp ebp, ebx
jae 0x2c7b7cb
mov dword [esp + 0x58], edi
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x84], edx
mov ebp, ebx
mov edx, dword [esp + 0x60]
mov ebx, eax
mov eax, dword [esp + 0x6c]
jmp 0x2c7b7cb
mov edx, dword [esp + 0x60]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp ebp, ebx
jb 0x2c7b8c0
mov edi, dword [esp + 0x84]
jmp 0x2c7b90b
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xbc]
mov edi, edx
mov ebp, ebx
mov edx, dword [esp + 0x60]
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov byte [edi + edx], cl
mov edx, edi
mov ecx, ebp
mov ebp, ebx
mov ebx, ecx
cmp ebp, eax
jbe 0x2c7b94c
mov ecx, ebx
movzx ebx, byte [edx + eax]
or ebx, 0x20
mov byte [edx + eax], bl
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ecx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2c7b93b
mov dword [esi + 0x3c], edx
jmp 0x2c7b945
lea edi, [esi + 0x3c]
mov eax, edx
call fcn.02b3e880
mov edx, esi
jmp 0x2c7b56b
mov ecx, ebp
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02c7b030