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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov esi, esp
mov edi, ecx
mov eax, dword [0x1d08010]
xor eax, ebp
mov dword [esi + 0x98], eax
test byte [0x1d0afac], 0x19
jne 0x1c90ad4
mov ebx, dword [edi + 0x38]
test ebx, ebx
jne 0x1c90b90
mov ecx, dword [edi + 0x2c]
push edi
call fcn.01c66ce0
call fcn.01c57560
test al, al
mov dword [esi + 0x10], edi
je 0x1c90abd
mov ecx, dword [edi + 0x30]
call fcn.01c8dd10
test al, al
jne 0x1c90ca1
mov edi, dword [edi + 0x3c]
lea ecx, [esi + 0x34]
mov dword [ecx], 0xffffffff
call fcn.01c5ed80
test edi, edi
je 0x1c90acb
lea ebx, [esi + 0x70]
push 2
push ebx
call fcn.01c57810
add esp, 8
lea ecx, [esi + 0x34]
push ebx
call fcn.01c5ed90
mov ecx, ebx
call fcn.01c841f0
mov al, 1
mov dword [esi + 0x1c], eax
test byte [0x1d0afac], 0x19
jne 0x1c90ba8
test byte [0x1d0af64], 0x19
mov ebx, dword [esi + 0x10]
je 0x1c90a8b
call fcn.01c7f310
mov ecx, dword [ebx + 0x2c]
lea eax, [ebx + 0x20]
mov dword [esi + 0x14], eax
push eax
call fcn.01c69160
test byte [0x1d0afac], 0x19
jne 0x1c90c00
mov dword [esi + 0x20], 0
lea edi, [esi + 0x78]
mov dword [esi + 8], 0
jmp 0x1c90ccb
lea ecx, [esi + 0x34]
mov dword [ecx], 0xffffffff
call fcn.01c5ed80
mov dword [esi + 0x1c], 0
jmp 0x1c90a6d
lea ebx, [esi + 0x70]
push ebx
call fcn.01c780f0
add esp, 4
call fcn.01c78b50
sub esp, 0x30
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x2c], 8
mov dword [esp + 8], str.WorkerThread_born
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x49
call fcn.01c79120
add esp, 0x30
test byte [0x1d0afac], 0x19
je 0x1c909fd
lea ebx, [esi + 0x70]
push ebx
call fcn.01c780f0
add esp, 4
call fcn.01c78b50
sub esp, 0x30
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], str.WorkerThread_active
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x42
call fcn.01c79120
add esp, 0x30
jmp 0x1c909fd
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov dword [esi + 8], ecx
call dword [section..00cfg]
mov ecx, ebx
call dword [esi + 8]
jmp 0x1c90a08
lea edi, [esi + 0x70]
push edi
call fcn.01c780f0
add esp, 4
call fcn.01c78b50
sub esp, 0x30
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], str.WorkerThread_active
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x45
call fcn.01c79120
add esp, 0x30
jmp 0x1c90a7a
mov eax, dword [0x1d0ceec]
mov dword [esi + 8], eax
mov eax, ebx
mov ebx, dword [0x1d0cee8]
xor ebx, eax
lea edi, [esi + 0x70]
mov dword [edi + 0xc], fcn.01c5e180
mov dword [edi + 0x10], 0x1cfdbd0
push 8
call fcn.01c928b1
add esp, 4
mov ecx, dword [esi + 8]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov dword [edi + 4], eax
xor eax, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x20], 0
mov dword [esi + 0x58], eax
sub esp, 0x1c
movq xmm0, qword [esi + 0x58]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], 0x1cfcdd0
mov dword [esp + 8], str.WorkerThread_active
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x42
call fcn.01c5e210
add esp, 0x1c
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1c90c99
mov edi, dword [esi + 0x74]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ebx, dword [esi + 0x10]
jmp 0x1c90aae
lea ecx, [esi + 0x34]
mov dword [ecx], 0xffffffff
call fcn.01c5ed80
jmp 0x1c90a4a
test bl, bl
mov ebx, dword [esi + 0x10]
jne 0x1c9117a
movzx eax, byte [ebx + 0x28]
test al, al
jne 0x1c9117a
movzx eax, byte [ebx + 0x44]
test al, al
jne 0x1c9117a
mov ecx, dword [ebx + 0x30]
call fcn.01c8d660
test al, al
jne 0x1c9117a
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x70], xmm0
movdqa xmmword [esi + 0x80], xmm0
mov dword [esi + 0x94], 0xffffffff
mov dword [esi + 0x90], 0xffffffff
mov byte [esi + 0x70], 0
pxor xmm0, xmm0
movdqu xmmword [edi], xmm0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
cmp byte [esi + 0x1c], 0
je 0x1c90d53
sub esp, 8
movq xmm0, qword [0x1d00848]
movq qword [esp], xmm0
mov ecx, edi
call fcn.01c7eb60
mov byte [esi + 0x70], 1
mov ecx, dword [ebx + 0x30]
call fcn.01c8dd10
test al, al
jne 0x1c9110b
mov edi, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], edi
jne 0x1c91279
mov dword [esi + 0x2c], 0xffffffff
mov dword [esi + 0x30], 0xffffffff
mov ecx, dword [ebx + 0x2c]
push ebx
lea edi, [esi + 0x2c]
push edi
call fcn.01c8bb70
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x1c90e45
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
push eax
call fcn.01c6af00
add esp, 4
mov dword [esi + 8], esp
mov eax, dword [ebx + 0x30]
mov dword [esi + 0xc], eax
sub esp, 0xc
mov eax, edi
mov edi, esp
lea ecx, [edi + 4]
push eax
call fcn.01c8ed60
lea ebx, [esi + 0x58]
mov dword [edi], ebx
mov ecx, dword [esi + 0xc]
call fcn.01c8d760
mov esp, dword [esi + 8]
lea ecx, [esi + 0x2c]
push ebx
call fcn.01c8ee30
mov ecx, ebx
call fcn.01c8ed90
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x58], eax
push ebx
call fcn.01c6af00
add esp, 4
mov edi, esp
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + 0x2c]
sub esp, 8
mov ecx, esp
lea eax, [esi + 0x2c]
push eax
call fcn.01c8ed60
mov ecx, ebx
call fcn.01c8c580
mov esp, edi
cmp dword [esi + 0x2c], 0
jne 0x1c91292
mov ecx, dword [esi + 0x14]
call fcn.01c82480
mov al, 1
mov dword [esi + 8], eax
xor ebx, ebx
lea edi, [esi + 0x78]
lea ecx, [esi + 0x2c]
call fcn.01c8ed90
cmp byte [esi + 0x70], 0
je 0x1c90cc0
mov ecx, edi
call fcn.01c7ee00
jmp 0x1c90cc0
mov al, byte [ebx + 0x28]
mov ecx, ebx
mov bl, 1
test al, al
lea edi, [esi + 0x78]
jne 0x1c90e27
mov al, byte [ecx + 0x44]
test al, al
jne 0x1c90e27
mov ecx, dword [ecx + 0x30]
call fcn.01c8d660
test al, al
jne 0x1c90e24
test byte [esi + 8], 1
mov edi, dword [esi + 0x10]
je 0x1c91097
test byte [0x1d0afac], 0x19
mov ebx, 0xffffffff
jne 0x1c91295
test byte [0x1d0af64], 0x19
jne 0x1c9108d
cmp byte [esi + 0x70], 0
je 0x1c90ea4
lea ecx, [esi + 0x78]
call fcn.01c7ee00
mov byte [esi + 0x70], 0
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx]
cmp dword [eax + 0x18], 0x1c69160
jne 0x1c910a4
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], ebx
lea eax, [esi + 0x38]
push eax
call fcn.01c8cae0
mov ebx, dword [esi + 0x38]
mov edi, dword [esi + 0x3c]
mov edx, 0xf4240
cmp ebx, edx
mov eax, 0xf4240
cmovb eax, ebx
test edi, edi
mov ecx, 0
cmovns edi, ecx
mov dword [esi + 8], edi
cmovns ebx, edx
cmove ebx, eax
mov eax, dword [0x1d0c258]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x1d1ccf4]
cmp ecx, dword [eax + 4]
lea edi, [esi + 0x78]
jg 0x1c911d5
cmp byte [0x1d1ccf0], 0
je 0x1c9128a
xor edi, edi
dec edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], edi
lea eax, [esi + 0x58]
push eax
call fcn.01c78780
add esp, 4
mov eax, dword [0x1d1cd00]
mov ecx, dword [0x1d0c258]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x1c91115
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], edi
mov eax, edi
add eax, ebx
mov ecx, 0x7fffffff
mov edx, dword [esi + 8]
adc ecx, edx
add eax, 2
adc ecx, 0
cmp eax, 2
mov edi, dword [esi + 0x58]
sbb ecx, 0
mov eax, dword [esi + 0x5c]
jb 0x1c91390
add edi, ebx
adc eax, edx
seto bl
mov edx, eax
sar edx, 0x1f
test bl, bl
lea ecx, [edx - 0x80000000]
cmove edx, edi
test bl, bl
cmove ecx, eax
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], ecx
xor eax, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], eax
sub esp, 0x14
mov dword [esp + 0x10], eax
movq xmm0, qword [esi + 0x40]
movq qword [esp + 4], xmm0
lea eax, [esi + 0x50]
mov dword [esp], eax
mov dword [esp + 0xc], 0xf4240
lea ecx, [esi + 0x48]
call fcn.01c787a0
mov edx, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 0x54]
sub eax, edx
sbb edi, ecx
seto bl
mov byte [esi + 0xc], bl
mov ecx, edi
sar ecx, 0x1f
test bl, bl
cmovne eax, ecx
mov ebx, 0x80000000
xor ecx, ebx
mov ebx, dword [0x1d1ccf8]
sub ebx, edx
mov edx, dword [0x1d1ccfc]
sbb edx, dword [esi + 8]
mov dword [esi + 0x18], edx
seto byte [esi + 8]
cmp byte [esi + 0xc], 0
cmove ecx, edi
mov edi, edx
sar edi, 0x1f
cmp byte [esi + 8], 0
cmovne ebx, edi
mov edx, 0x80000000
xor edi, edx
cmp byte [esi + 8], 0
cmove edi, dword [esi + 0x18]
cmp eax, ebx
mov edx, ebx
cmova edx, eax
cmp ecx, edi
cmovg ebx, eax
cmove ebx, edx
mov eax, edi
cmovg eax, ecx
lea edi, [esi + 0x78]
mov dword [esi + 8], eax
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], eax
sub esp, 8
movq xmm0, qword [esi + 0x58]
movq qword [esp], xmm0
mov ecx, dword [esi + 0x14]
call fcn.01c82a30
test al, al
je 0x1c910b1
xor ebx, ebx
test byte [0x1d0afac], 0x19
mov dword [esi + 8], 0
lea ecx, [esi + 0x2c]
je 0x1c90e2a
jmp 0x1c912f0
call fcn.01c7f310
jmp 0x1c90e92
mov ecx, dword [edi + 0x2c]
call fcn.01c66f30
jmp 0x1c90e73
push dword [esi + 0x14]
call fcn.01c69160
lea edi, [esi + 0x78]
jmp 0x1c9106f
call fcn.01c73cc0
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
cmp ebx, eax
mov edx, dword [esi + 8]
sbb edx, ecx
jge 0x1c9106f
mov dword [esi + 0xc], ebx
mov edx, eax
xor edi, edi
dec edi
xor edx, edi
mov ebx, 0x7fffffff
mov edi, ecx
xor edi, ebx
or edi, edx
jne 0x1c91225
xor eax, eax
dec eax
mov dword [esi + 0x50], eax
mov eax, 0x7fffffff
mov dword [esi + 0x54], eax
lea edi, [esi + 0x78]
sub esp, 8
movq xmm0, qword [esi + 0x50]
movq qword [esp], xmm0
mov ecx, dword [esi + 0x14]
call fcn.01c82a30
jmp 0x1c9106f
mov edi, 3
jmp 0x1c90d66
push 0x1d1cd00
call fcn.01c92957
add esp, 4
cmp dword [0x1d1cd00], 0xffffffff
jne 0x1c90f54
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
mov edx, 0x3938700
add ecx, edx
adc eax, 0
seto byte [esi + 0xc]
mov edx, eax
sar edx, 0x1f
cmp byte [esi + 0xc], 0
cmovne ecx, edx
add edx, 0x80000000
cmp byte [esi + 0xc], 0
cmove edx, eax
mov dword [0x1d1ccf8], ecx
mov dword [0x1d1ccfc], edx
push 0x1d1cd00
call fcn.01c929cd
add esp, 4
jmp 0x1c90f54
mov ecx, dword [ebx + 0x2c]
push ebx
call fcn.01c66ed0
mov edi, ebx
mov ebx, dword [ebx + 0x38]
test ebx, ebx
jne 0x1c913e4
mov ecx, dword [edi + 8]
mov dword [edi + 8], 0
test ecx, ecx
jne 0x1c91213
test byte [0x1d0afac], 0x19
jne 0x1c913fc
test byte [0x1d0af64], 0x19
jne 0x1c9126f
lea ecx, [esi + 0x34]
call fcn.01c841f0
mov ecx, dword [esi + 0x98]
xor ecx, ebp
call fcn.01c938a3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x1d1ccf4
call fcn.01c92957
add esp, 4
cmp dword [0x1d1ccf4], 0xffffffff
jne 0x1c90f11
push 0x1d0c0f0
call fcn.01c78960
add esp, 4
mov byte [0x1d1ccf0], al
push 0x1d1ccf4
call fcn.01c929cd
add esp, 4
jmp 0x1c90f11
lock dec dword [ecx + 4]
jne 0x1c9119e
push 1
call fcn.01c69b70
jmp 0x1c9119e
xor edx, edx
dec edx
add edx, dword [esi + 0xc]
mov edi, 0x7fffffff
mov ebx, dword [esi + 8]
adc edi, ebx
add edx, 2
adc edi, 0
cmp edx, 2
sbb edi, 0
jb 0x1c910e0
sub eax, dword [esi + 0xc]
sbb ecx, ebx
seto bl
mov edx, ecx
sar edx, 0x1f
test bl, bl
cmovne eax, edx
add edx, 0x80000000
test bl, bl
cmove edx, ecx
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
jmp 0x1c910ee
call fcn.01c7f310
jmp 0x1c911b8
push edi
call fcn.01c59d20
add esp, 4
mov dword [ebx + 0x40], edi
jmp 0x1c90d6f
mov eax, dword [esi + 8]
jmp 0x1c9104d
int3
lea eax, [esi + 0x58]
push eax
call fcn.01c780f0
add esp, 4
call fcn.01c78b50
sub esp, 0x30
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ecx
lea edx, [esi + 0x58]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], str.WorkerThread_active
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x45
call fcn.01c79120
add esp, 0x30
jmp 0x1c90e85
mov eax, dword [0x1d0cee8]
xor eax, dword [esi + 0x10]
mov dword [esi + 8], eax
mov edi, dword [0x1d0ceec]
xor edi, dword [esi + 0x20]
mov dword [esi + 0x64], fcn.01c5e180
mov dword [esi + 0x68], 0x1cfdbd0
push 8
call fcn.01c928b1
add esp, 4
mov dword [eax + 4], edi
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x54], ebx
mov dword [esi + 0x50], ebx
sub esp, 0x1c
movq xmm0, qword [esi + 0x50]
movq qword [esp + 0x10], xmm0
lea eax, [esi + 0x58]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], 0x1cfcdd0
mov dword [esp + 8], str.WorkerThread_active
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x42
call fcn.01c5e210
add esp, 0x1c
mov eax, dword [esi + 0x68]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x1c91382
mov edi, dword [esi + 0x5c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
xor ebx, ebx
mov dword [esi + 8], 0
jmp 0x1c90e24
mov dword [esi + 0xc], ebx
xor edx, edx
dec edx
mov ebx, edx
mov dword [esi + 0x24], edi
add ebx, edi
mov edi, 0x7fffffff
adc edi, eax
add ebx, 2
adc edi, 0
mov dword [esi + 0x18], edi
add edx, 1
mov ecx, 0x7fffffff
adc ecx, 0
mov dword [esi + 0x28], 0
xor edi, edi
inc edi
cmp edi, ebx
mov edi, dword [esi + 0x28]
sbb edi, dword [esi + 0x18]
jb 0x1c90f9c
mov ebx, dword [esi + 0x24]
xor ebx, dword [esi + 0xc]
xor eax, dword [esi + 8]
or eax, ebx
je 0x1c90f9c
int3
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
call dword [section..00cfg]
mov ecx, ebx
call dword [esi + 8]
jmp 0x1c91190
lea edi, [esi + 0x70]
push edi
call fcn.01c780f0
add esp, 4
call fcn.01c78b50
sub esp, 0x30
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], str.WorkerThread_active
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x45
call fcn.01c79120
add esp, 0x30
test byte [0x1d0afac], 0x19
je 0x1c911ab
push edi
call fcn.01c780f0
add esp, 4
call fcn.01c78b50
sub esp, 0x30
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x2c], 8
mov dword [esp + 8], str.WorkerThread_dead
mov dword [esp + 4], 0x1d0afac
mov dword [esp], 0x49
call fcn.01c79120
add esp, 0x30
jmp 0x1c911ab