Function at 0x200ce4ac
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.200d86ec
add esp, 0x18
test eax, eax
je 0x200ce4fe
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 0x200ce52c
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200ce51f
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 0x200ce585
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
mov al, byte [eax + ecx + 1]
and eax, 0xff
cmp eax, 0x80
je 0x200ce569
cmp dword [esp + 0x44], 0x7f
ja 0x200ce558
cmp dword [esp + 0x44], eax
jne 0x200ce569
cmp dword [esp + 0x44], 0x7f
jbe 0x200ce581
cmp dword [esp + 0x44], 0xff
ja 0x200ce581
cmp eax, 0x81
je 0x200ce581
mov edi, dword [esp + 0x60]
mov dword [ebx], 0
test edi, edi
jne 0x200ce585
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 0x200ce5d3
mov ecx, esi
and ecx, 0xff
cmp ecx, dword [esp + 0x34]
je 0x200ce609
test ah, 1
je 0x200ce5c6
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 0x200ce609
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
call fcn.200cd3bc
add esp, 0xc
test eax, eax
jne 0x200ced38
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
test edi, edi
je 0x200ce614
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x30], ecx
test esi, 0x20
je 0x200ceb36
mov dword [esp + 0x1c], 0
test edi, edi
je 0x200ce660
push 0
mov eax, esi
and eax, 0xff
push eax
push 0
push 0x6810d738
push edi
call fcn.200cca7c
add esp, 0x14
test eax, eax
jne 0x200ced38
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 0x200ce7cb
test esi, 0x800
jne 0x200ce7cb
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200ce6b7
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.200ce4ac
add esp, 0x1c
test eax, eax
je 0x200ce6fc
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.200ce4ac
add esp, 0x1c
test eax, eax
jne 0x200ced38
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x44], eax
je 0x200ce6fc
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x14], 0
jne 0x200ce709
mov dword [ebx], 0
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200ce71c
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0x2c]
mov dword [ecx], eax
test edi, edi
je 0x200ce75f
cmp dword [ebx], 0
je 0x200ceb04
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 0x200cec1c
test byte [ebp + 1], 1
je 0x200ced36
cmp dword [esp + 0x70], 0
je 0x200ced36
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x200ced36
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
push edx
push eax
mov eax, dword [esp + 0x7c]
push eax
call fcn.200c8f6c
add esp, 0xc
test eax, eax
jne 0x200ced36
mov dword [ebx], 0
test edi, edi
je 0x200ced36
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 0x200ce7e6
cmp esi, 0x231
je 0x200ce7e6
mov eax, esi
and eax, 0x1820
cmp eax, 0x1820
jne 0x200ce7ee
mov dword [esp + 0x1c], 1
test esi, 0x200
je 0x200ce93b
mov ecx, dword [esp + 0x68]
cmp dword [ecx], 0
jne 0x200ce89c
xor esi, esi
mov eax, dword [esp + 0x40]
add eax, esi
cmp byte [eax], 0
jne 0x200ce81a
cmp byte [eax + 1], 0
je 0x200ce893
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.200ce4ac
add esp, 0x1c
test eax, eax
jne 0x200ced38
cmp dword [esp + 0x14], 0
jne 0x200ce857
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200ce88a
cmp dword [esp + 0x1c], 0
je 0x200ce88a
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.200cd26c
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200ce88a
mov dword [ebx], 0
add esi, dword [esp + 0x10]
jmp 0x200ce809
mov dword [esp + 0x44], esi
jmp 0x200ce709
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200ce928
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.200ce4ac
add esp, 0x1c
test eax, eax
jne 0x200ced38
cmp dword [esp + 0x14], 0
jne 0x200ce8e7
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200ce91a
cmp dword [esp + 0x1c], 0
je 0x200ce91a
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.200cd26c
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200ce91a
mov dword [ebx], 0
add esi, dword [esp + 0x10]
cmp dword [esp + 0x44], esi
ja 0x200ce8a8
cmp dword [esp + 0x44], esi
je 0x200ce709
mov eax, 0x20c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp esi, 0x30
je 0x200ce951
cmp esi, 0x31
je 0x200ce951
test esi, 0x800
je 0x200ce709
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x20], 1
cmp dword [ecx], 0
jne 0x200cea30
xor esi, esi
mov ecx, dword [esp + 0x40]
add ecx, esi
cmp byte [ecx], 0
jne 0x200ce97d
cmp byte [ecx + 1], 0
je 0x200cea27
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200cea27
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.200ce4ac
add esp, 0x1c
test eax, eax
jne 0x200ced38
cmp dword [esp + 0x14], 0
jne 0x200ce9d1
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200cea04
cmp dword [esp + 0x1c], 0
je 0x200cea04
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.200cd26c
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200cea04
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200ccedc
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
jmp 0x200ce968
mov dword [esp + 0x44], esi
jmp 0x200ce709
xor esi, esi
cmp dword [esp + 0x44], esi
jbe 0x200ceaf1
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov dword [esp + 0x28], eax
cmp dword [eax], 0x1e
je 0x200ceaed
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.200ce4ac
add esp, 0x1c
test eax, eax
jne 0x200ced38
cmp dword [esp + 0x14], 0
jne 0x200cea92
mov dword [ebx], 0
cmp dword [ebx], 0
je 0x200ceac5
cmp dword [esp + 0x1c], 0
je 0x200ceac5
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.200cd26c
add esp, 0x14
cmp dword [esp + 0x18], esi
je 0x200ceac5
mov dword [ebx], 0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.200ccedc
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x28], ecx
add esp, 8
cmp dword [esp + 0x44], esi
ja 0x200cea3c
cmp dword [esp + 0x44], esi
je 0x200ce709
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, 0x6810d73c
push eax
push edi
call fcn.200cca7c
add esp, 0x14
test eax, eax
je 0x200ce75f
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x34], 3
jne 0x200cebb1
mov eax, dword [esp + 0x40]
mov al, byte [eax]
test al, al
je 0x200cebb1
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 0x200cebb1
mov dword [ebx], 0
test edi, edi
je 0x200ce75f
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.200ccd0c
add esp, 0x10
test eax, eax
jne 0x200ced38
test edi, edi
je 0x200ce75f
mov ecx, dword [esp + 0x30]
cmp dword [edi + 0xc], ecx
jne 0x200ce75f
push 0
cmp dword [ebx], 0
je 0x200cebf4
mov ecx, dword [esp + 0x6c]
push 0x1b
mov edx, dword [esp + 0x7c]
mov eax, dword [ecx]
push eax
push edx
push edi
call fcn.200cca7c
add esp, 0x14
test eax, eax
je 0x200ce75f
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.200cca7c
add esp, 0x14
test eax, eax
je 0x200ce75f
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x4c
ret
test edi, edi
je 0x200ced36
test byte [ebp + 1], 1
je 0x200ced36
cmp dword [esp + 0x70], 0
je 0x200ced36
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
cmp dword [eax + ecx*4], 0
je 0x200ced36
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.200ccf2c
add esp, 0xc
test eax, eax
jne 0x200ced38
mov eax, dword [esp + 0x4c]
push eax
call fcn.200c8f9c
mov dword [esp + 0x4c], eax
add esp, 4
test eax, eax
jne 0x200cec93
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.200cc40c
add esp, 0xc
test eax, eax
jne 0x200ced38
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.200cd07c
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.200c8f6c
add esp, 0xc
test eax, eax
je 0x200ced0e
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