Function at 0x2ccf7c0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x2cd02cb
sub esp, 0xb4
lea eax, [0x2d2d860]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
nop
lea ecx, [0x2d263a0]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ccf828
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x2ccf83b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.02b3e880
mov eax, ecx
mov dword [esp + 0x58], eax
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], 0x7fffffff
lea ecx, [0x2d0ac20]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov dword [esp + 8], 0x60
mov dword [esp + 0xc], 0x60
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x2ccfe83
mov eax, dword [esp + 0x80]
cmp byte [eax], 0x4d
jne 0x2ccfa0e
cmp byte [eax + 1], 0x5a
jne 0x2ccfa0e
nop
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x54], eax
lea ecx, [0x2d0a620]
mov dword [esp], ecx
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x10], ebp
call edx
mov eax, dword [esp + 0x7c]
cmp byte [eax], 0x50
jne 0x2ccf96d
cmp byte [eax + 1], 0x45
jne 0x2ccf96d
movzx ecx, byte [eax + 2]
test cl, cl
jne 0x2ccf96d
movzx ecx, byte [eax + 3]
test cl, cl
jne 0x2ccf96d
mov eax, dword [esp + 0x54]
add eax, 4
mov ecx, 0
adc ecx, 0
jmp 0x2ccfa12
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
lea eax, [0x2d0a620]
mov dword [esp], eax
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.02ae8fe0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
lea eax, [0x2d49a31]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xb4
ret
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x58]
mov ebx, dword [edx + 8]
add eax, ebx
mov esi, dword [edx + 0xc]
mov edi, esi
adc esi, ecx
cmp edi, esi
sete cl
cmp eax, ebx
setb bl
cmp edi, esi
xchg edi, ebx
setg bl
xchg edi, ebx
and ebx, ecx
or ebx, edi
test bl, bl
jne 0x2ccfa4b
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], esi
lea eax, [0x2da4428]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x2daa74c]
mov dword [esp + 8], ecx
lea ebx, [0x311e790]
mov dword [esp + 0xc], ebx
lea ebp, [0x2d01180]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x14], ebp
call fcn.02b89980
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x2ccfe63
mov eax, dword [esp + 0x6c]
movzx ecx, word [eax]
cmp cx, 0x14c
ja 0x2ccfab6
test cx, cx
je 0x2ccfacf
cmp cx, 0x14c
je 0x2ccfacf
jmp 0x2ccfdd0
cmp cx, 0x1c4
je 0x2ccfacf
cmp cx, 0x8664
je 0x2ccfacf
cmp cx, 0xaa64
jne 0x2ccfdd0
mov dword [esp], eax
lea ecx, [0x2da7934]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
call fcn.02cd33c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x6c]
mov dword [edi + 0x44], ecx
mov dword [edi + 0x48], edx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ccfb1a
mov dword [edi + 0x40], eax
jmp 0x2ccfb28
lea ecx, [edi + 0x40]
mov edx, edi
mov edi, ecx
call fcn.02b3e880
mov edi, edx
test ebx, ebx
jne 0x2ccfdb0
mov dword [esp], edi
lea eax, [0x2da7934]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
call fcn.02cd38c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x74], esi
mov edi, dword [esp + 0x6c]
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], edx
mov esi, dword [0x311e9a0]
test esi, esi
jne 0x2ccfb7f
mov dword [edi + 0x34], eax
jmp 0x2ccfb8d
lea esi, [edi + 0x34]
mov edi, esi
call fcn.02b3e880
mov edi, dword [esp + 0x6c]
test ebx, ebx
jne 0x2ccfd8c
mov ebx, dword [edi + 0x40]
mov ebp, dword [edi + 0x44]
mov esi, dword [edi + 0x48]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.02cd3c40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x6c]
mov dword [edi + 0x2c], ecx
mov dword [edi + 0x30], edx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ccfbeb
mov dword [edi + 0x28], eax
jmp 0x2ccfbf9
lea ecx, [edi + 0x28]
mov edx, edi
mov edi, ecx
call fcn.02b3e880
mov edi, edx
test ebx, ebx
jne 0x2ccfd6c
lea eax, [0x2d2d900]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.02ae8fe0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.02b8acf0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x44]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx + 8]
mov esi, ebp
add ebp, eax
mov edi, edx
sar edx, 0x1f
add edi, ecx
mov ecx, dword [esp + 0x48]
adc ecx, edx
mov edx, dword [ebx + 0xc]
add eax, esi
adc ecx, edx
cmp edx, ecx
setg al
cmp ebp, esi
xchg esi, ebx
setb bl
xchg esi, ebx
cmp edx, ecx
sete dl
and edx, esi
or edx, eax
test dl, dl
je 0x2ccfc7b
mov eax, dword [0x30f7390]
mov ecx, dword [0x30f7394]
jmp 0x2ccfc85
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], ecx
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x2ccfd4c
mov eax, dword [esp + 0x6c]
movzx ecx, word [eax + 0x10]
lea edx, [0x2da7934]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov word [esp + 8], cx
call fcn.02cd0330
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x6c]
mov dword [esi + 0x14], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ccfcd6
mov dword [esi + 0x18], eax
jmp 0x2ccfcde
lea edi, [esi + 0x18]
call fcn.02b3e880
test edx, edx
jne 0x2ccfd2c
movzx eax, word [esi + 2]
lea ecx, [0x2d20c60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
movzx edx, word [ecx + 2]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ccfd1d
mov dword [ecx + 0x1c], eax
jmp 0x2ccfd25
lea edi, [ecx + 0x1c]
call fcn.02b3e880
xor eax, eax
jmp 0x2ccfea6
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebp
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], esi
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebp
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], esi
add esp, 0xb4
ret
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
movzx eax, word [eax]
mov word [esp], ax
call fcn.02ae8d60
mov eax, dword [esp + 4]
lea ecx, [0x2d0e700]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x2d48e19]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.02b9a950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0xb4
ret
inc eax
mov ecx, ebp
movzx edx, word [ecx + 2]
cmp eax, edx
jge 0x2cd01b2
mov dword [esp + 0x3c], eax
lea eax, [0x2d30ca0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
lea ecx, [0x2da4428]
mov dword [esp], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
lea ebx, [0x2daa74c]
mov dword [esp + 8], ebx
lea ebp, [0x311e790]
mov dword [esp + 0xc], ebp
lea esi, [0x2d12640]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.02b89980
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x2cd0192
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x48]
mov ebp, dword [esp + 0x5c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.02cd2e80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jne 0x2cd0172
mov dword [esp + 0x68], ebx
mov dword [esp + 0x34], ebp
lea eax, [0x2d2a280]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.02b3eb16
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 8]
mov dword [esp + 0x94], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x98], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x9c], edx
mov edx, dword [ecx + 0x14]
mov dword [esp + 0xa0], edx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0xa4], edx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0xa8], edx
movzx edx, word [ecx + 0x20]
mov word [esp + 0xac], dx
movzx edx, word [ecx + 0x22]
mov word [esp + 0xae], dx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0xb0], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cd0019
mov edi, dword [esp + 0x60]
lea esi, [esp + 0x8c]
call fcn.02b3efcc
jmp 0x2cd003c
lea eax, [0x2d30be0]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
lea ecx, [esp + 0x8c]
mov dword [esp + 8], ecx
call fcn.02af0c20
xor eax, eax
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x2cd0055
lea ecx, [0x311e790]
lea edx, [0x2da4824]
jmp 0x2cd0063
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x30], ebx
mov ebp, dword [eax + 0x10]
mov dword [esp + 0x38], ebp
add ebp, ebx
mov dword [esp + 0x54], ebp
lea edi, [0x2d263a0]
mov dword [esp], edi
call fcn.02aeb620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2cd00b8
mov edx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
add edx, ebx
jmp 0x2cd00d2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.02b3e880
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
add edx, ebx
mov eax, ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 0
mov edx, dword [esp + 0x54]
mov dword [eax + 0x18], edx
mov edx, 0
adc edx, 0
mov dword [eax + 0x1c], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2cd010b
mov edx, dword [esp + 0x60]
mov dword [edx + 0x3c], eax
jmp 0x2cd0117
mov edx, dword [esp + 0x60]
lea edi, [edx + 0x3c]
call fcn.02b3e880
lea ebx, [0x2da443c]
mov dword [edx + 0x34], ebx
mov ebp, dword [0x311e9a0]
test ebp, ebp
jne 0x2cd012f
mov dword [edx + 0x38], eax
jmp 0x2cd0137
lea edi, [edx + 0x38]
call fcn.02b3e880
mov ebp, dword [esp + 0x6c]
mov esi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
jae 0x2cd02c5
lea edi, [esi + eax*4]
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2cd0162
mov dword [esi + eax*4], edx
jmp 0x2ccfea3
mov ecx, eax
mov eax, edx
call fcn.02b3e880
mov eax, ecx
jmp 0x2ccfea3
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0xb4
ret
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0xb4
ret
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x58]
xor eax, eax
jmp 0x2cd01ce
inc eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x58]
cmp eax, edx
jge 0x2cd0295
mov ebp, dword [ecx + 0x20]
mov esi, dword [ecx + 0x1c]
cmp eax, ebp
jae 0x2cd02be
mov dword [esp + 0x40], eax
mov ecx, dword [esi + eax*4]
test byte [ecx], al
mov dword [esp], ecx
lea ecx, [0x2da7934]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.02cd2f90
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x40]
cmp eax, ecx
jae 0x2cd02b9
mov edx, dword [edx + eax*4]
mov dword [edx + 0x2c], ebp
mov dword [edx + 0x30], esi
mov ebp, dword [0x311e9a0]
test ebp, ebp
jne 0x2cd0251
mov dword [edx + 0x28], ebx
jmp 0x2cd0265
add edx, 0x28
mov ecx, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.02b3e880
mov eax, ebp
mov edi, ecx
test edi, edi
je 0x2cd01c1
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc8], eax
add esp, 0xb4
ret
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0xb4
ret
call fcn.02b3e900
mov ecx, ebp
call fcn.02b3e900
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02ccf7c0