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

Disassembly:
push 0xffffffffffffffff
push 0x55c80a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebp
push esi
push edi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x10], edi
xor esi, esi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
mov edx, dword [esp + 0xac]
push ebp
lea eax, [esp + 0x28]
push eax
push edx
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0xb4], 2
call fcn.00420e40
mov eax, dword [eax]
cmp eax, ebp
je 0x421732
mov ecx, eax
mov dword [esp + 0x10], eax
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov edi, eax
mov eax, dword [esp + 0xc]
mov byte [esp + 0xa4], 2
cmp eax, ebp
je 0x42175e
mov ecx, eax
or edx, 0xffffffff
add eax, 4
lock xadd dword [eax], edx
cmp edx, 1
jne 0x42175e
cmp ecx, ebp
je 0x42175e
mov eax, dword [ecx]
push edx
mov edx, dword [eax]
call edx
cmp edi, ebp
jne 0x42177f
cmp dword [esp + 0x38], 0x10
jb 0x421a54
mov eax, dword [esp + 0x24]
push eax
call fcn.0043e38e
add esp, 4
jmp 0x421a54
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.0041fd10
mov ecx, dword [eax]
cmp ecx, ebp
je 0x4217a7
mov esi, ecx
mov dword [esp + 0x14], esi
cmp esi, ebp
je 0x4217a7
lea edx, [esi + 4]
mov ecx, 1
lock xadd dword [edx], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
mov byte [esp + 0xa4], 2
cmp eax, ebp
je 0x4217da
mov ecx, eax
or edx, 0xffffffff
add eax, 4
lock xadd dword [eax], edx
cmp edx, 1
jne 0x4217da
cmp ecx, ebp
je 0x4217da
mov eax, dword [ecx]
push edx
mov edx, dword [eax]
call edx
push ebx
jmp 0x4217e0
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.0041fdc0
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jne 0x4217fd
cmp esi, dword [eax]
jne 0x4217fd
xor bl, bl
jmp 0x4217ff
mov bl, 1
mov ecx, dword [esp + 0x44]
cmp ecx, ebp
je 0x421822
or edx, 0xffffffff
lea eax, [ecx + 4]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x421822
cmp ecx, ebp
je 0x421822
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x44], ebp
test bl, bl
je 0x4219e6
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0041f900
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [esp + 0x84]
push eax
mov byte [esp + 0xac], 5
call edx
mov edx, dword [esp + 0x28]
mov ebx, 0x10
cmp dword [esp + 0x3c], ebx
jae 0x42186a
lea edx, [esp + 0x28]
mov esi, dword [eax + 0x10]
mov ecx, esi
cmp ecx, esi
jae 0x421873
mov edi, dword [esp + 0x38]
mov ecx, esi
cmp esi, edi
jb 0x42187f
mov ecx, edi
cmp dword [eax + 0x14], ebx
jb 0x421886
mov eax, dword [eax]
push ecx
push edx
push eax
call fcn.0041f110
add esp, 0xc
cmp eax, ebp
jne 0x4218a7
cmp esi, edi
jae 0x42189e
or eax, 0xffffffff
jmp 0x4218a5
xor eax, eax
cmp esi, edi
setne al
cmp eax, ebp
mov esi, 0x10
sete bl
mov byte [esp + 0xa8], 5
cmp dword [esp + 0x98], esi
jb 0x4218d0
mov eax, dword [esp + 0x84]
push eax
call fcn.0043e38e
add esp, 4
test bl, bl
je 0x421973
push ebp
mov edi, 0xf
push 0x59d68c
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
call fcn.00405de0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x70]
push eax
mov byte [esp + 0xb4], 7
call edx
mov ecx, dword [esp + 0xb4]
push eax
mov byte [esp + 0xac], 8
call fcn.00421270
cmp dword [esp + 0x7c], esi
jb 0x421946
mov eax, dword [esp + 0x68]
push eax
call fcn.0043e38e
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
cmp dword [esp + 0x60], esi
jb 0x421966
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.0043e38e
add esp, 4
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
mov eax, dword [esp + 0x10]
mov byte [esp + 0xa8], 2
cmp eax, ebp
je 0x42199f
mov ecx, eax
or edx, 0xffffffff
add eax, 4
lock xadd dword [eax], edx
cmp edx, 1
jne 0x42199f
cmp ecx, ebp
je 0x42199f
mov eax, dword [ecx]
push edx
mov edx, dword [eax]
call edx
push ebp
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], ebp
call fcn.0041faa0
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
je 0x4219d5
or edx, 0xffffffff
lea eax, [ecx + 4]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x4219d5
cmp ecx, ebp
je 0x4219d5
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
jmp 0x4217e0
cmp dword [esp + 0x3c], 0x10
pop ebx
jb 0x4219fb
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043e38e
add esp, 4
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
mov byte [esp + 0xa4], 0
cmp esi, ebp
je 0x421a31
or edx, 0xffffffff
lea eax, [esi + 4]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x421a31
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov dword [esp + 0xa4], 0xffffffff
or ecx, 0xffffffff
lea edx, [edi + 4]
lock xadd dword [edx], ecx
cmp ecx, 1
jne 0x421a54
mov eax, dword [edi]
mov edx, dword [eax]
push ecx
mov ecx, edi
call edx
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x9c
ret 0xc