Function at 0x200b462c
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.200be86c
add esp, 0x18
test eax, eax
je 0x200b467e
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 0x200b46ac
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200b469f
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 0x200b4705
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
mov al, byte [eax + ecx + 1]
and eax, 0xff
cmp eax, 0x80
je 0x200b46e9
cmp dword [esp + 0x44], 0x7f
ja 0x200b46d8
cmp dword [esp + 0x44], eax
jne 0x200b46e9
cmp dword [esp + 0x44], 0x7f
jbe 0x200b4701
cmp dword [esp + 0x44], 0xff
ja 0x200b4701
cmp eax, 0x81
je 0x200b4701
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200b4705
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 0x200b4753
mov ecx, esi
and ecx, 0xff
cmp ecx, dword [esp + 0x34]
je 0x200b4789
test ah, 1
je 0x200b4746
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 0x200b4789
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
call fcn.200b353c
add esp, 0xc
test eax, eax
jne 0x200b4eb8
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
test edi, edi
je 0x200b4794
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x30], ecx
test esi, 0x20
je 0x200b4cb6
mov dword [esp + 0x1c], 0
test edi, edi
je 0x200b47e0
push 0
mov eax, esi
and eax, 0xff
push eax
push 0
push 0x680e87c8
push edi
call fcn.200b2bfc
add esp, 0x14
test eax, eax
jne 0x200b4eb8
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 0x200b494b
test esi, 0x800
jne 0x200b494b
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200b4837
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.200b462c
add esp, 0x1c
test eax, eax
je 0x200b487c
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.200b462c
add esp, 0x1c
test eax, eax
jne 0x200b4eb8
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x44], eax
je 0x200b487c
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x14], 0
jne 0x200b4889
mov dword [ebx], 0
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200b489c
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x2c]
mov dword [ecx], eax
test edi, edi
je 0x200b48df
cmp dword [ebx], 0
je 0x200b4c84
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 0x200b4d9c
test byte [ebp + 1], 1
je 0x200b4eb6
cmp dword [esp + 0x70], 0
je 0x200b4eb6
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x200b4eb6
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
push edx
push eax
mov eax, dword [esp + 0x7c]
push eax
call fcn.200af40e
add esp, 0xc
test eax, eax
jne 0x200b4eb6
mov dword [ebx], 0
test edi, edi
je 0x200b4eb6
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 0x200b4966
cmp esi, 0x231
je 0x200b4966
mov eax, esi
and eax, 0x1820
cmp eax, 0x1820
jne 0x200b496e
mov dword [esp + 0x1c], 1
test esi, 0x200
je 0x200b4abb
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200b4a1c
xor esi, esi
mov eax, dword [esp + 0x40]
add eax, esi
cmp byte [eax], 0
jne 0x200b499a
cmp byte [eax + 1], 0
je 0x200b4a13
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.200b462c
add esp, 0x1c
test eax, eax
jne 0x200b4eb8
cmp dword [esp + 0x14], 0
jne 0x200b49d7
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200b4a0a
cmp dword [esp + 0x1c], 0
je 0x200b4a0a
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.200b33ec
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200b4a0a
mov dword [ebx], 0
add esi, dword [esp + 0x10]
jmp 0x200b4989
mov dword [esp + 0x44], esi
jmp 0x200b4889
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200b4aa8
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.200b462c
add esp, 0x1c
test eax, eax
jne 0x200b4eb8
cmp dword [esp + 0x14], 0
jne 0x200b4a67
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200b4a9a
cmp dword [esp + 0x1c], 0
je 0x200b4a9a
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.200b33ec
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200b4a9a
mov dword [ebx], 0
add esi, dword [esp + 0x10]
cmp dword [esp + 0x44], esi
ja 0x200b4a28
cmp dword [esp + 0x44], esi
je 0x200b4889
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp esi, 0x30
je 0x200b4ad1
cmp esi, 0x31
je 0x200b4ad1
test esi, 0x800
je 0x200b4889
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x20], 1
cmp dword [ecx], 0
jne 0x200b4bb0
xor esi, esi
mov ecx, dword [esp + 0x40]
add ecx, esi
cmp byte [ecx], 0
jne 0x200b4afd
cmp byte [ecx + 1], 0
je 0x200b4ba7
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200b4ba7
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.200b462c
add esp, 0x1c
test eax, eax
jne 0x200b4eb8
cmp dword [esp + 0x14], 0
jne 0x200b4b51
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200b4b84
cmp dword [esp + 0x1c], 0
je 0x200b4b84
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.200b33ec
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200b4b84
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200b305c
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
jmp 0x200b4ae8
mov dword [esp + 0x44], esi
jmp 0x200b4889
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200b4c71
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200b4c6d
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.200b462c
add esp, 0x1c
test eax, eax
jne 0x200b4eb8
cmp dword [esp + 0x14], 0
jne 0x200b4c12
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200b4c45
cmp dword [esp + 0x1c], 0
je 0x200b4c45
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.200b33ec
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200b4c45
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200b305c
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
cmp dword [esp + 0x44], esi
ja 0x200b4bbc
cmp dword [esp + 0x44], esi
je 0x200b4889
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, 0x680e87cc
push eax
push edi
call fcn.200b2bfc
add esp, 0x14
test eax, eax
je 0x200b48df
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x34], 3
jne 0x200b4d31
mov eax, dword [esp + 0x40]
mov al, byte [eax]
test al, al
je 0x200b4d31
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 0x200b4d31
mov dword [ebx], 0
test edi, edi
je 0x200b48df
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.200b2e8c
add esp, 0x10
test eax, eax
jne 0x200b4eb8
test edi, edi
je 0x200b48df
mov ecx, dword [esp + 0x30]
cmp dword [edi + 0xc], ecx
jne 0x200b48df
push 0
cmp dword [ebx], 0
je 0x200b4d74
mov ecx, dword [esp + 0x6c]
push 0x1b
mov edx, dword [esp + 0x7c]
mov eax, dword [ecx]
push eax
push edx
push edi
call fcn.200b2bfc
add esp, 0x14
test eax, eax
je 0x200b48df
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.200b2bfc
add esp, 0x14
test eax, eax
je 0x200b48df
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
test edi, edi
je 0x200b4eb6
test byte [ebp + 1], 1
je 0x200b4eb6
cmp dword [esp + 0x70], 0
je 0x200b4eb6
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
cmp dword [eax + ecx*4], 0
je 0x200b4eb6
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.200b30ac
add esp, 0xc
test eax, eax
jne 0x200b4eb8
mov eax, dword [esp + 0x4c]
push eax
call fcn.200af42d
mov dword [esp + 0x4c], eax
add esp, 4
test eax, eax
jne 0x200b4e13
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.200b258c
add esp, 0xc
test eax, eax
jne 0x200b4eb8
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.200b31fc
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.200af40e
add esp, 0xc
test eax, eax
je 0x200b4e8e
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