Function at 0x200c90e4
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.200d3314
add esp, 0x18
test eax, eax
je 0x200c9136
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 0x200c9164
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200c9157
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 0x200c91bd
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
mov al, byte [eax + ecx + 1]
and eax, 0xff
cmp eax, 0x80
je 0x200c91a1
cmp dword [esp + 0x44], 0x7f
ja 0x200c9190
cmp dword [esp + 0x44], eax
jne 0x200c91a1
cmp dword [esp + 0x44], 0x7f
jbe 0x200c91b9
cmp dword [esp + 0x44], 0xff
ja 0x200c91b9
cmp eax, 0x81
je 0x200c91b9
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200c91bd
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 0x200c920b
mov ecx, esi
and ecx, 0xff
cmp ecx, dword [esp + 0x34]
je 0x200c9241
test ah, 1
je 0x200c91fe
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 0x200c9241
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
call fcn.200c8114
add esp, 0xc
test eax, eax
jne 0x200c9970
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
test edi, edi
je 0x200c924c
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x30], ecx
test esi, 0x20
je 0x200c976e
mov dword [esp + 0x1c], 0
test edi, edi
je 0x200c9298
push 0
mov eax, esi
and eax, 0xff
push eax
push 0
push 0x6813f998
push edi
call fcn.200c77d4
add esp, 0x14
test eax, eax
jne 0x200c9970
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 0x200c9403
test esi, 0x800
jne 0x200c9403
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200c92ef
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.200c90e4
add esp, 0x1c
test eax, eax
je 0x200c9334
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.200c90e4
add esp, 0x1c
test eax, eax
jne 0x200c9970
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x44], eax
je 0x200c9334
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x14], 0
jne 0x200c9341
mov dword [ebx], 0
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200c9354
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x2c]
mov dword [ecx], eax
test edi, edi
je 0x200c9397
cmp dword [ebx], 0
je 0x200c973c
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 0x200c9854
test byte [ebp + 1], 1
je 0x200c996e
cmp dword [esp + 0x70], 0
je 0x200c996e
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x200c996e
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
push edx
push eax
mov eax, dword [esp + 0x7c]
push eax
call fcn.200c3fd6
add esp, 0xc
test eax, eax
jne 0x200c996e
mov dword [ebx], 0
test edi, edi
je 0x200c996e
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 0x200c941e
cmp esi, 0x231
je 0x200c941e
mov eax, esi
and eax, 0x1820
cmp eax, 0x1820
jne 0x200c9426
mov dword [esp + 0x1c], 1
test esi, 0x200
je 0x200c9573
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200c94d4
xor esi, esi
mov eax, dword [esp + 0x40]
add eax, esi
cmp byte [eax], 0
jne 0x200c9452
cmp byte [eax + 1], 0
je 0x200c94cb
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.200c90e4
add esp, 0x1c
test eax, eax
jne 0x200c9970
cmp dword [esp + 0x14], 0
jne 0x200c948f
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200c94c2
cmp dword [esp + 0x1c], 0
je 0x200c94c2
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.200c7fc4
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200c94c2
mov dword [ebx], 0
add esi, dword [esp + 0x10]
jmp 0x200c9441
mov dword [esp + 0x44], esi
jmp 0x200c9341
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200c9560
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.200c90e4
add esp, 0x1c
test eax, eax
jne 0x200c9970
cmp dword [esp + 0x14], 0
jne 0x200c951f
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200c9552
cmp dword [esp + 0x1c], 0
je 0x200c9552
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.200c7fc4
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200c9552
mov dword [ebx], 0
add esi, dword [esp + 0x10]
cmp dword [esp + 0x44], esi
ja 0x200c94e0
cmp dword [esp + 0x44], esi
je 0x200c9341
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp esi, 0x30
je 0x200c9589
cmp esi, 0x31
je 0x200c9589
test esi, 0x800
je 0x200c9341
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x20], 1
cmp dword [ecx], 0
jne 0x200c9668
xor esi, esi
mov ecx, dword [esp + 0x40]
add ecx, esi
cmp byte [ecx], 0
jne 0x200c95b5
cmp byte [ecx + 1], 0
je 0x200c965f
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200c965f
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.200c90e4
add esp, 0x1c
test eax, eax
jne 0x200c9970
cmp dword [esp + 0x14], 0
jne 0x200c9609
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200c963c
cmp dword [esp + 0x1c], 0
je 0x200c963c
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.200c7fc4
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200c963c
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c7c34
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
jmp 0x200c95a0
mov dword [esp + 0x44], esi
jmp 0x200c9341
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200c9729
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200c9725
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.200c90e4
add esp, 0x1c
test eax, eax
jne 0x200c9970
cmp dword [esp + 0x14], 0
jne 0x200c96ca
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200c96fd
cmp dword [esp + 0x1c], 0
je 0x200c96fd
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.200c7fc4
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200c96fd
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200c7c34
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
cmp dword [esp + 0x44], esi
ja 0x200c9674
cmp dword [esp + 0x44], esi
je 0x200c9341
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, 0x6813f99c
push eax
push edi
call fcn.200c77d4
add esp, 0x14
test eax, eax
je 0x200c9397
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x34], 3
jne 0x200c97e9
mov eax, dword [esp + 0x40]
mov al, byte [eax]
test al, al
je 0x200c97e9
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 0x200c97e9
mov dword [ebx], 0
test edi, edi
je 0x200c9397
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.200c7a64
add esp, 0x10
test eax, eax
jne 0x200c9970
test edi, edi
je 0x200c9397
mov ecx, dword [esp + 0x30]
cmp dword [edi + 0xc], ecx
jne 0x200c9397
push 0
cmp dword [ebx], 0
je 0x200c982c
mov ecx, dword [esp + 0x6c]
push 0x1b
mov edx, dword [esp + 0x7c]
mov eax, dword [ecx]
push eax
push edx
push edi
call fcn.200c77d4
add esp, 0x14
test eax, eax
je 0x200c9397
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.200c77d4
add esp, 0x14
test eax, eax
je 0x200c9397
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
test edi, edi
je 0x200c996e
test byte [ebp + 1], 1
je 0x200c996e
cmp dword [esp + 0x70], 0
je 0x200c996e
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
cmp dword [eax + ecx*4], 0
je 0x200c996e
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.200c7c84
add esp, 0xc
test eax, eax
jne 0x200c9970
mov eax, dword [esp + 0x4c]
push eax
call fcn.200c3ff5
mov dword [esp + 0x4c], eax
add esp, 4
test eax, eax
jne 0x200c98cb
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.200c7154
add esp, 0xc
test eax, eax
jne 0x200c9970
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.200c7dd4
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.200c3fd6
add esp, 0xc
test eax, eax
je 0x200c9946
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