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

Disassembly:
sub esp, 0x4c
xor eax, eax
mov dword [esp + 0x1c], eax
push ebx
mov ebx, dword [esp + 0x58]
push esi
mov ecx, dword [esp + 0x70]
push edi
lea edx, [esp + 0x3c]
push ebp
mov dword [esp + 0x30], eax
push ecx
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x3c]
push eax
mov dword [ebx], 1
lea eax, [esp + 0x3c]
push edx
mov edx, dword [esp + 0x74]
push ecx
push eax
push edx
call fcn.200d5274
add esp, 0x18
test eax, eax
je 0x200cb086
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200cb0b4
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200cb0a7
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x2c], eax
jmp 0x200cb10d
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
mov al, byte [eax + ecx + 1]
and eax, 0xff
cmp eax, 0x80
je 0x200cb0f1
cmp dword [esp + 0x44], 0x7f
ja 0x200cb0e0
cmp dword [esp + 0x44], eax
jne 0x200cb0f1
cmp dword [esp + 0x44], 0x7f
jbe 0x200cb109
cmp dword [esp + 0x44], 0xff
ja 0x200cb109
cmp eax, 0x81
je 0x200cb109
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200cb10d
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x6c]
mov eax, dword [ebp]
mov esi, eax
or esi, 0x100
sub esi, 0x100
cmp esi, 0x1d
je 0x200cb15b
mov ecx, esi
and ecx, 0xff
cmp ecx, dword [esp + 0x34]
je 0x200cb191
test ah, 1
je 0x200cb14e
mov ecx, dword [esp + 0x68]
xor eax, eax
pop ebp
pop edi
pop esi
mov dword [ecx], 0
pop ebx
add esp, 0x4c
ret
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200cb191
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
call fcn.200ca064
add esp, 0xc
test eax, eax
jne 0x200cb8c0
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
test edi, edi
je 0x200cb19c
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x30], ecx
test esi, 0x20
je 0x200cb6be
mov dword [esp + 0x1c], 0
test edi, edi
je 0x200cb1e8
push 0
mov eax, esi
and eax, 0xff
push eax
push 0
push 0x6813d918
push edi
call fcn.200c9724
add esp, 0x14
test eax, eax
jne 0x200cb8c0
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0xc]
inc ecx
mov edx, dword [edi + 0x14]
mov eax, dword [edx + eax*4 - 4]
mov dword [eax + 0xc], ecx
test esi, 0xc0
je 0x200cb353
test esi, 0x800
jne 0x200cb353
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200cb23f
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x40]
sub eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x70]
push eax
push ecx
push edx
lea eax, [ebp + 0x10]
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x24]
push ecx
push edx
push edi
call fcn.200cb034
add esp, 0x1c
test eax, eax
je 0x200cb284
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
push eax
push ecx
lea eax, [ebp + 0x10]
lea ecx, [esp + 0x18]
push edx
lea edx, [esp + 0x20]
push eax
push ecx
push edx
push edi
call fcn.200cb034
add esp, 0x1c
test eax, eax
jne 0x200cb8c0
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x44], eax
je 0x200cb284
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x14], 0
jne 0x200cb291
mov dword [ebx], 0
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200cb2a4
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x2c]
mov dword [ecx], eax
test edi, edi
je 0x200cb2e7
cmp dword [ebx], 0
je 0x200cb68c
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov dword [edx], eax
mov eax, dword [edi + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x30]
mov esi, dword [eax + ecx*4]
mov dword [esi + 4], edx
mov eax, dword [edi + 0x14]
mov esi, dword [eax + ecx*4]
lea eax, [ecx + 1]
mov dword [esi + 8], 0x1b
mov dword [edi + 0xc], eax
cmp dword [ebx], 0
je 0x200cb7a4
test byte [ebp + 1], 1
je 0x200cb8be
cmp dword [esp + 0x70], 0
je 0x200cb8be
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x200cb8be
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
push edx
push eax
mov eax, dword [esp + 0x7c]
push eax
call fcn.200c5f16
add esp, 0xc
test eax, eax
jne 0x200cb8be
mov dword [ebx], 0
test edi, edi
je 0x200cb8be
mov ecx, dword [esp + 0x30]
xor eax, eax
pop ebp
mov dword [edi + 0xc], ecx
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp esi, 0x31
je 0x200cb36e
cmp esi, 0x231
je 0x200cb36e
mov eax, esi
and eax, 0x1820
cmp eax, 0x1820
jne 0x200cb376
mov dword [esp + 0x1c], 1
test esi, 0x200
je 0x200cb4c3
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200cb424
xor esi, esi
mov eax, dword [esp + 0x40]
add eax, esi
cmp byte [eax], 0
jne 0x200cb3a2
cmp byte [eax + 1], 0
je 0x200cb41b
mov ecx, dword [esp + 0x78]
lea edx, [ebp + 0x10]
sub ecx, esi
sub ecx, dword [esp + 0x2c]
push ecx
push eax
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0x18]
push eax
push edx
lea eax, [esp + 0x24]
push ecx
push eax
push edi
call fcn.200cb034
add esp, 0x1c
test eax, eax
jne 0x200cb8c0
cmp dword [esp + 0x14], 0
jne 0x200cb3df
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200cb412
cmp dword [esp + 0x1c], 0
je 0x200cb412
mov eax, dword [esp + 0x40]
push esi
mov ecx, dword [esp + 0x14]
push eax
push ecx
add eax, esi
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c9f14
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200cb412
mov dword [ebx], 0
add esi, dword [esp + 0x10]
jmp 0x200cb391
mov dword [esp + 0x44], esi
jmp 0x200cb291
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200cb4b0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x70]
sub eax, esi
lea edx, [ebp + 0x10]
push eax
mov eax, dword [esp + 0x44]
add eax, esi
push eax
push ecx
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
push edi
call fcn.200cb034
add esp, 0x1c
test eax, eax
jne 0x200cb8c0
cmp dword [esp + 0x14], 0
jne 0x200cb46f
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200cb4a2
cmp dword [esp + 0x1c], 0
je 0x200cb4a2
mov eax, dword [esp + 0x40]
push esi
mov ecx, dword [esp + 0x14]
push eax
push ecx
add eax, esi
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c9f14
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200cb4a2
mov dword [ebx], 0
add esi, dword [esp + 0x10]
cmp dword [esp + 0x44], esi
ja 0x200cb430
cmp dword [esp + 0x44], esi
je 0x200cb291
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp esi, 0x30
je 0x200cb4d9
cmp esi, 0x31
je 0x200cb4d9
test esi, 0x800
je 0x200cb291
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x20], 1
cmp dword [ecx], 0
jne 0x200cb5b8
xor esi, esi
mov ecx, dword [esp + 0x40]
add ecx, esi
cmp byte [ecx], 0
jne 0x200cb505
cmp byte [ecx + 1], 0
je 0x200cb5af
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200cb5af
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x28]
sub eax, esi
sub eax, dword [esp + 0x2c]
push eax
push ecx
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
push edi
call fcn.200cb034
add esp, 0x1c
test eax, eax
jne 0x200cb8c0
cmp dword [esp + 0x14], 0
jne 0x200cb559
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200cb58c
cmp dword [esp + 0x1c], 0
je 0x200cb58c
mov eax, dword [esp + 0x40]
push esi
mov ecx, dword [esp + 0x14]
push eax
push ecx
add eax, esi
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c9f14
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200cb58c
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c9b84
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
jmp 0x200cb4f0
mov dword [esp + 0x44], esi
jmp 0x200cb291
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200cb679
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200cb675
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x70]
sub eax, esi
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x44]
add eax, esi
push eax
push ecx
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
push edi
call fcn.200cb034
add esp, 0x1c
test eax, eax
jne 0x200cb8c0
cmp dword [esp + 0x14], 0
jne 0x200cb61a
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200cb64d
cmp dword [esp + 0x1c], 0
je 0x200cb64d
mov eax, dword [esp + 0x40]
push esi
mov ecx, dword [esp + 0x14]
push eax
push ecx
add eax, esi
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c9f14
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200cb64d
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c9b84
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
cmp dword [esp + 0x44], esi
ja 0x200cb5c4
cmp dword [esp + 0x44], esi
je 0x200cb291
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
push 0
mov eax, 0
cmp dword [esp + 0x20], 1
adc eax, 0xffffffff
push 0x1e
push 0
and eax, 0x6813d91c
push eax
push edi
call fcn.200c9724
add esp, 0x14
test eax, eax
je 0x200cb2e7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x34], 3
jne 0x200cb739
mov eax, dword [esp + 0x40]
mov al, byte [eax]
test al, al
je 0x200cb739
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov esi, 0xff
mov dl, byte [ecx + edx - 1]
and edx, 0xff
mov cl, 8
sub cl, al
sar esi, cl
test esi, edx
je 0x200cb739
mov dword [ebx], 0
test edi, edi
je 0x200cb2e7
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
inc eax
xor edx, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
mov dl, byte [ecx]
push eax
mov ecx, dword [esp + 0x38]
push 0
mov dword [esp + 0x60], edx
push ecx
push edi
call fcn.200c99b4
add esp, 0x10
test eax, eax
jne 0x200cb8c0
test edi, edi
je 0x200cb2e7
mov ecx, dword [esp + 0x30]
cmp dword [edi + 0xc], ecx
jne 0x200cb2e7
push 0
cmp dword [ebx], 0
je 0x200cb77c
mov ecx, dword [esp + 0x6c]
push 0x1b
mov edx, dword [esp + 0x7c]
mov eax, dword [ecx]
push eax
push edx
push edi
call fcn.200c9724
add esp, 0x14
test eax, eax
je 0x200cb2e7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
push edi
call fcn.200c9724
add esp, 0x14
test eax, eax
je 0x200cb2e7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
test edi, edi
je 0x200cb8be
test byte [ebp + 1], 1
je 0x200cb8be
cmp dword [esp + 0x70], 0
je 0x200cb8be
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
cmp dword [eax + ecx*4], 0
je 0x200cb8be
mov esi, dword [esp + 0x30]
mov eax, dword [edi + 0x14]
shl esi, 2
lea ecx, [esp + 0x3c]
add eax, esi
lea edx, [esp + 0x4c]
push eax
push ecx
push edx
call fcn.200c9bd4
add esp, 0xc
test eax, eax
jne 0x200cb8c0
mov eax, dword [esp + 0x4c]
push eax
call fcn.200c5f35
mov dword [esp + 0x4c], eax
add esp, 4
test eax, eax
jne 0x200cb81b
mov eax, 0x206
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x48]
push eax
push ecx
push edi
call fcn.200c90a4
add esp, 0xc
test eax, eax
jne 0x200cb8c0
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x3c]
sub eax, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
dec eax
push eax
mov eax, dword [edi + 0x14]
add eax, esi
push eax
push ecx
lea eax, [esp + 0x58]
push edx
mov ecx, dword [esp + 0x58]
push eax
push ecx
call fcn.200c9d24
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x88]
add esp, 0x18
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x4c]
push ecx
push edx
call fcn.200c5f16
add esp, 0xc
test eax, eax
je 0x200cb896
mov ecx, dword [esp + 0x30]
xor eax, eax
pop ebp
mov dword [edi + 0xc], ecx
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax + esi]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [edi + 0x14]
inc eax
mov edx, dword [ecx + esi]
mov dword [edx + 8], 0x1b
mov dword [edi + 0xc], eax
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret