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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54f136
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x5a5784]
xor eax, esp
mov dword [esp + 0x298], eax
push ebx
push esi
push edi
mov eax, dword [0x5a5784]
xor eax, esp
push eax
lea eax, [esp + 0x2b0]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
mov dword [esp + 0x64], edi
mov dword [esp + 0x4c], esi
call fcn.0041ba70
test esi, esi
je 0x41cd55
test edi, edi
je 0x41cd55
mov ebx, dword [esi + 0x2c]
sub ebx, dword [esi + 0x28]
sar ebx, 2
mov dword [esp + 0x58], ebx
call fcn.00431a74
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41bba8
push 0x80004005
call fcn.00401cd0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
xor esi, esi
mov dword [esp + 0x2b8], esi
mov dword [esp + 0x48], esi
test ebx, ebx
jle 0x41bbfa
lea esp, [esp]
push 0x5ad604
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp esi, ebx
jge 0x41bbef
nop
cmp dword [edi + esi*4], 0
je 0x41bc2f
inc esi
mov dword [esp + 0x48], esi
cmp esi, ebx
jl 0x41bbe0
push 0x5ad604
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x2b8], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41bc25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x41cd69
cmp esi, ebx
jge 0x41bbef
lea ebx, [esi*4]
push 0x5ad604
mov dword [ebx + edi], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
sub ecx, eax
sar ecx, 2
cmp ecx, esi
jbe 0x41ccad
mov eax, dword [eax + ebx]
mov esi, dword [esp + 0x28]
lea ecx, [eax - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x41bcbb
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x41bcad
mov edx, dword [ecx]
cmp edx, dword [esi]
jne 0x41bcad
push ecx
call fcn.00402140
mov edi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x41bca4
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [esp + 0x28], edi
jmp 0x41bcbb
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.00401d20
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x2b8], 1
mov ecx, dword [0x5ade80]
mov edx, dword [0x5ade84]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x78], edx
call fcn.00431a74
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x41bb9e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov eax, 0x5adc78
mov byte [esp + 0x2b8], 2
lea edx, [eax + 2]
jmp 0x41bd20
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41bd20
sub eax, edx
sar eax, 1
push eax
push 0x5adc78
lea ecx, [esp + 0x48]
call fcn.00401d20
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x54], eax
cmp eax, dword [ecx + 0xc]
je 0x41cbc7
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x1c]
mov byte [esp + 0x27], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x44], 0
cmp esi, ebx
je 0x41bdda
mov eax, dword [esp + 0x64]
push eax
push ebx
mov ecx, esi
mov eax, ebx
call fcn.0041f600
add esp, 8
mov dword [esp + 0x2c], eax
mov edi, eax
cmp eax, ebx
je 0x41bdcc
nop
cmp dword [edi + 0x14], 0x10
jb 0x41bdb1
mov eax, dword [edi]
push eax
call fcn.00430e1b
add esp, 4
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
add edi, 0x134
cmp edi, ebx
jne 0x41bda0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], ecx
mov ebx, ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
cmp ecx, dword [eax + 8]
je 0x41c737
jmp 0x41bdf4
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov edi, dword [esp + 0x44]
push 3
push eax
lea eax, [esp + 0x224]
lea edx, [esp + 0x228]
push eax
mov dword [esp + 0x228], edx
call fcn.004116e0
mov byte [esp + 0x2b8], 3
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x5c], edi
jne 0x41c0d3
mov edx, dword [esp + 0x21c]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41be54
sub eax, edi
push eax
push edx
lea ecx, [esp + 0xac]
call fcn.00402e40
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], 0
mov byte [esp + 0xe4], 0
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0xf0]
mov edi, 5
mov byte [esp + 0x2c4], 5
call fcn.00402f40
xor eax, eax
cmp dword [esp + 0xb8], 0x10
mov dword [esp + 0x208], edi
mov dword [esp + 0x204], eax
mov dword [esp + 0x20c], edi
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], 3
jb 0x41bef1
mov edx, dword [esp + 0xa4]
push edx
call fcn.00430e1b
add esp, 4
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
lea eax, [esp + 0xe4]
mov byte [esp + 0x2b8], 6
cmp eax, ebx
jae 0x41c04e
mov ecx, eax
cmp esi, ecx
ja 0x41c04e
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp ebx, dword [esp + 0x1c]
jne 0x41bfb3
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xd4c77a
ja 0x41ccb7
mov edx, dword [esp + 0x1c]
sub edx, esi
mov eax, 0x3531dec1
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x41bfb3
mov edx, eax
shr edx, 1
mov esi, 0xd4c77b
sub esi, edx
cmp esi, eax
jae 0x41bf99
xor eax, eax
jmp 0x41bf9b
add eax, edx
cmp eax, ecx
jae 0x41bfa1
mov eax, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.004119d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
imul edi, edi, 0x134
add edi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0x2b8], 7
test ebx, ebx
je 0x41c6d4
push 0xffffffffffffffff
push 0
mov esi, edi
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
push esi
mov ecx, ebx
mov byte [ebx], 0
call fcn.00402f40
mov edx, dword [esi + 0x1c]
mov dword [ebx + 0x1c], edx
mov eax, dword [esp + 0x2c]
add esi, 0x20
lea edi, [ebx + 0x20]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x120]
mov dword [ebx + 0x120], ecx
mov edx, dword [eax + 0x124]
mov dword [ebx + 0x124], edx
mov ecx, dword [eax + 0x128]
mov dword [ebx + 0x128], ecx
mov edx, dword [eax + 0x12c]
mov dword [ebx + 0x12c], edx
mov eax, dword [eax + 0x130]
mov dword [ebx + 0x130], eax
jmp 0x41c6d0
mov edi, dword [esp + 0x1c]
cmp ebx, edi
jne 0x41c0be
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xd4c77a
ja 0x41ccb7
mov edx, edi
sub edx, esi
mov eax, 0x3531dec1
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x41c0be
mov edx, eax
shr edx, 1
mov esi, 0xd4c77b
sub esi, edx
cmp esi, eax
jae 0x41c0a4
xor eax, eax
jmp 0x41c0a6
add eax, edx
cmp eax, ecx
jae 0x41c0ac
mov eax, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.004119d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2b8], 8
jmp 0x41c648
cmp dword [esp + 0x60], edi
jne 0x41c418
mov edi, dword [esp + 0x21c]
mov eax, edi
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41c0f0
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0xac]
call fcn.00402e40
xor edi, edi
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], edi
mov byte [esp + 0xe4], 0
push 0xffffffffffffffff
push edi
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0xf0]
mov byte [esp + 0x2c4], 0xa
call fcn.00402f40
cmp dword [esp + 0xb8], 0x10
mov eax, 5
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], edi
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], edi
mov dword [esp + 0x214], 4
jb 0x41c188
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00430e1b
add esp, 4
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
lea edx, [esp + 0xe4]
mov byte [esp + 0x2b8], 0xb
cmp edx, ebx
jae 0x41c2e7
mov eax, edx
cmp esi, eax
ja 0x41c2e7
mov ecx, edx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp ebx, dword [esp + 0x1c]
jne 0x41c24c
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xd4c77a
ja 0x41ccb7
mov edx, dword [esp + 0x1c]
sub edx, esi
mov eax, 0x3531dec1
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x41c24c
mov edx, eax
shr edx, 1
mov esi, 0xd4c77b
sub esi, edx
cmp esi, eax
jae 0x41c232
xor eax, eax
jmp 0x41c234
add eax, edx
cmp eax, ecx
jae 0x41c23a
mov eax, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.004119d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
imul edi, edi, 0x134
add edi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2b8], 0xc
test ebx, ebx
je 0x41c3f3
push 0xffffffffffffffff
push 0
mov esi, edi
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
push esi
mov ecx, ebx
mov byte [ebx], 0
call fcn.00402f40
mov ecx, dword [esi + 0x1c]
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x1c], ecx
add esi, 0x20
lea edi, [ebx + 0x20]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov edx, dword [eax + 0x120]
mov dword [ebx + 0x120], edx
mov ecx, dword [eax + 0x124]
mov dword [ebx + 0x124], ecx
mov edx, dword [eax + 0x128]
mov dword [ebx + 0x128], edx
mov ecx, dword [eax + 0x12c]
mov dword [ebx + 0x12c], ecx
mov edx, dword [eax + 0x130]
mov dword [ebx + 0x130], edx
jmp 0x41c3ef
mov edi, dword [esp + 0x1c]
cmp ebx, edi
jne 0x41c357
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xd4c77a
ja 0x41ccb7
mov edx, edi
sub edx, esi
mov eax, 0x3531dec1
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x41c357
mov edx, eax
shr edx, 1
mov esi, 0xd4c77b
sub esi, edx
cmp esi, eax
jae 0x41c33d
xor eax, eax
jmp 0x41c33f
add eax, edx
cmp eax, ecx
jae 0x41c345
mov eax, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.004119d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2b8], 0xd
test ebx, ebx
je 0x41c3f3
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xec]
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
push eax
mov ecx, ebx
mov byte [ebx], 0
call fcn.00402f40
mov ecx, dword [esp + 0x100]
mov dword [ebx + 0x1c], ecx
lea edi, [ebx + 0x20]
mov ecx, 0x40
lea esi, [esp + 0x104]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x204]
mov dword [ebx + 0x120], edx
mov eax, dword [esp + 0x208]
mov dword [ebx + 0x124], eax
mov ecx, dword [esp + 0x20c]
mov dword [ebx + 0x128], ecx
mov edx, dword [esp + 0x210]
mov dword [ebx + 0x12c], edx
mov eax, dword [esp + 0x214]
mov dword [ebx + 0x130], eax
mov esi, dword [esp + 0x14]
add ebx, 0x134
cmp dword [esp + 0xf8], 0x10
mov dword [esp + 0x18], ebx
jb 0x41c6f8
mov ecx, dword [esp + 0xe4]
push ecx
jmp 0x41c6f0
mov edx, dword [esp + 0x21c]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41c424
sub eax, edi
push eax
push edx
lea ecx, [esp + 0xac]
call fcn.00402e40
xor edi, edi
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], edi
mov byte [esp + 0xe4], 0
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0xf0]
mov byte [esp + 0x2c4], 0xf
call fcn.00402f40
cmp dword [esp + 0xb8], 0x10
mov eax, 5
mov dword [esp + 0x208], eax
mov dword [esp + 0x204], edi
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], edi
mov dword [esp + 0x214], edi
jb 0x41c4b8
mov eax, dword [esp + 0xa4]
push eax
call fcn.00430e1b
add esp, 4
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0xe4]
mov byte [esp + 0x2b8], 0x10
cmp ecx, ebx
jae 0x41c5c8
mov edx, ecx
cmp esi, edx
ja 0x41c5c8
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp ebx, dword [esp + 0x1c]
jne 0x41c57a
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xd4c77a
ja 0x41ccb7
mov edx, dword [esp + 0x1c]
sub edx, esi
mov eax, 0x3531dec1
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x41c57a
mov edx, eax
shr edx, 1
mov esi, 0xd4c77b
sub esi, edx
cmp esi, eax
jae 0x41c560
xor eax, eax
jmp 0x41c562
add eax, edx
cmp eax, ecx
jae 0x41c568
mov eax, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.004119d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
imul edi, edi, 0x134
add edi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2b8], 0x11
test ebx, ebx
je 0x41c6d4
push 0xffffffffffffffff
push 0
mov esi, edi
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
push esi
mov ecx, ebx
mov byte [ebx], 0
call fcn.00402f40
mov eax, dword [esi + 0x1c]
mov dword [ebx + 0x1c], eax
jmp 0x41bffc
mov edi, dword [esp + 0x1c]
cmp ebx, edi
jne 0x41c638
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0xd4c77a
ja 0x41ccb7
mov edx, edi
sub edx, esi
mov eax, 0x3531dec1
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x41c638
mov edx, eax
shr edx, 1
mov esi, 0xd4c77b
sub esi, edx
cmp esi, eax
jae 0x41c61e
xor eax, eax
jmp 0x41c620
add eax, edx
cmp eax, ecx
jae 0x41c626
mov eax, ecx
push eax
lea ecx, [esp + 0x18]
call fcn.004119d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2b8], 0x12
test ebx, ebx
je 0x41c6d4
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xec]
mov dword [ebx + 0x14], 0xf
push ecx
mov dword [ebx + 0x10], 0
mov ecx, ebx
mov byte [ebx], 0
call fcn.00402f40
mov edx, dword [esp + 0x100]
mov dword [ebx + 0x1c], edx
mov ecx, 0x40
lea edi, [ebx + 0x20]
lea esi, [esp + 0x104]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x204]
mov dword [ebx + 0x120], eax
mov ecx, dword [esp + 0x208]
mov dword [ebx + 0x124], ecx
mov edx, dword [esp + 0x20c]
mov dword [ebx + 0x128], edx
mov eax, dword [esp + 0x210]
mov dword [ebx + 0x12c], eax
mov ecx, dword [esp + 0x214]
mov dword [ebx + 0x130], ecx
mov esi, dword [esp + 0x14]
add ebx, 0x134
cmp dword [esp + 0xf8], 0x10
mov dword [esp + 0x18], ebx
jb 0x41c6f8
mov edx, dword [esp + 0xe4]
push edx
call fcn.00430e1b
add esp, 4
inc dword [esp + 0x44]
mov byte [esp + 0x2b8], 2
mov eax, dword [esp + 0x21c]
lea ecx, [esp + 0x220]
cmp eax, ecx
je 0x41c71f
push eax
call fcn.00525d70
add esp, 4
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x50]
add eax, 4
mov dword [esp + 0x34], eax
cmp eax, dword [edx + 8]
jne 0x41bdf0
mov ecx, ebx
sub ecx, esi
mov eax, 0x3531dec1
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41ccc1
cmp dword [esp + 0x30], 0
jle 0x41cbab
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
mov dword [esp + 0x50], ecx
jmp 0x41c770
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x50]
xor ebx, ebx
push ebx
push edx
push 0x64
push ecx
mov dword [esp + 0x48], esp
mov esi, esp
push eax
call fcn.00402140
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [esp + 0x2c8], 0x13
mov eax, dword [esp + 0x38]
push 2
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x54], esp
mov esi, esp
push eax
call fcn.00402140
add eax, 0x10
lea ecx, [esp + 0x30]
add esp, 4
mov dword [esi], eax
push ecx
mov byte [esp + 0x2d4], 2
call fcn.0041fd30
add eax, 0xc
add esp, 0x1c
cmp eax, 0x11
ja case.0x41c7dd.12
movzx edx, byte [eax + 0x41cda0]
jmp dword [edx*4 + 0x41cd90]
mov dword [esp + 0x30], ebx
mov byte [esp + 0x27], 1
jmp 0x41c806
dec dword [esp + 0x30]
jmp 0x41c7f9
mov dword [esp + 0x30], ebx
cmp byte [esp + 0x27], 0
je 0x41cb9c
xor ebx, ebx
lea eax, [esp + 0x7c]
push eax
call fcn.0041f740
mov ecx, dword [esp + 0x68]
mov byte [esp + 0x2b8], 0x14
mov eax, dword [esp + 0x14]
mov byte [esp + 0x13], 1
mov dword [esp + 0x34], ebx
mov dword [esp + 0x88], ecx
mov edi, eax
cmp eax, dword [esp + 0x18]
je 0x41cada
lea esp, [esp]
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x5c]
jne 0x41c97e
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
push 0
lea ebx, [esp + 0xa8]
mov ecx, edi
mov byte [esp + 0x2bc], 0x15
call fcn.004204b0
mov esi, 0x10
mov byte [esp + 0x13], al
mov eax, dword [esp + 0xa4]
cmp dword [esp + 0xb8], esi
jae 0x41c89f
mov eax, ebx
push eax
lea ecx, [esp + 0x70]
call fcn.0041f6a0
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x2bc], 0x16
call fcn.004021b0
mov bl, 0x15
mov byte [esp + 0x2b8], bl
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41c8e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xa4]
cmp dword [esp + 0xb8], esi
jae 0x41c8fe
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x78]
call fcn.0041f6a0
mov byte [esp + 0x2b8], 0x17
mov ecx, dword [eax]
mov edx, dword [esp + 0x28]
push ecx
push edx
push str._SEARCH_Unicast_search_Thread_IP__s__Mac:__s._n
push 0x80000
call fcn.0041abf0
mov byte [esp + 0x2c8], bl
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41c954
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2b8], 0x14
cmp dword [esp + 0xb8], esi
jb 0x41cabb
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00430e1b
add esp, 4
jmp 0x41cabb
cmp eax, dword [esp + 0x60]
jne 0x41cabb
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
push 0
lea ebx, [esp + 0xcc]
mov ecx, edi
mov byte [esp + 0x2bc], 0x18
call fcn.004204b0
mov esi, 0x10
mov byte [esp + 0x13], al
mov eax, dword [esp + 0xc8]
cmp dword [esp + 0xdc], esi
jae 0x41c9d9
mov eax, ebx
push eax
lea ecx, [esp + 0x74]
call fcn.0041f6a0
mov eax, dword [eax]
mov ecx, str.1.3.6.1.4.1.2435.2.3.9.1
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ca16
test dx, dx
je 0x41ca12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ca16
add eax, 4
add ecx, 4
test dx, dx
jne 0x41c9f0
xor eax, eax
jmp 0x41ca1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x70]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41ca40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x41ca58
mov ecx, dword [esp + 0x28]
push 1
mov dword [esp + 0x88], 1
push ecx
jmp 0x41ca6a
mov edx, dword [esp + 0x28]
push 0
mov dword [esp + 0x88], 0
push edx
push str._SEARCH_Unicast_search_Thread_IP__s_
push 0x80000
call fcn.0041abf0
add esp, 0x10
mov byte [esp + 0x2b8], 0x14
cmp dword [esp + 0xdc], esi
jb 0x41ca9d
mov eax, dword [esp + 0xc8]
push eax
call fcn.00430e1b
add esp, 4
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
cmp byte [esp + 0x13], 0
je 0x41cc66
inc dword [esp + 0x34]
add edi, 0x134
cmp edi, dword [esp + 0x18]
jne 0x41c840
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x80]
call fcn.004021b0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x57e928
call fcn.00401e60
mov byte [esp + 0x2bc], 0x19
mov eax, dword [esp + 0x80]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x44], esp
mov esi, esp
push eax
call fcn.00402140
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [esp + 0x2c0], 0x14
call fcn.0041ae20
add esp, 8
test al, al
je 0x41cb45
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x7c]
push edx
call fcn.00407d30
lea ebx, [esp + 0x8c]
mov byte [esp + 0x2b8], 2
call fcn.00402d80
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41cb7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41cb9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x30], 0
jg 0x41c770
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
add eax, 0x14
mov dword [esp + 0x54], eax
cmp eax, dword [ecx + 0xc]
jne 0x41bd52
mov byte [esp + 0x2b8], 1
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41cbef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov byte [esp + 0x2b8], 0
cmp esi, eax
je 0x41cc38
mov edi, esi
cmp esi, ebx
je 0x41cc2d
cmp dword [edi + 0x14], 0x10
jb 0x41cc16
mov eax, dword [edi]
push eax
call fcn.00430e1b
add esp, 4
xor eax, eax
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], eax
mov byte [edi], 0
add edi, 0x134
cmp edi, ebx
jne 0x41cc03
push esi
call fcn.00430e1b
add esp, 4
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x58]
jge 0x41bbfa
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x58]
mov esi, eax
jmp 0x41bbd0
mov ecx, dword [esp + 0x28]
push ecx
push str._SEARCH__error__Unicast_search_Thread_IP__s__bNoError:
push 0x80000
call fcn.0041abf0
add esp, 0xc
lea ebx, [esp + 0x8c]
mov byte [esp + 0x2b8], 2
call fcn.00402d80
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x41cb70
push str.invalid_vector_T__subscript
call fcn.005414fa
push str.vector_T__too_long
call fcn.005414ad
mov byte [esp + 0x2b8], 1
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41cce9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x41cd28
mov edi, esi
cmp esi, ebx
je 0x41cd1f
cmp dword [edi + 0x14], 0x10
jb 0x41cd04
mov eax, dword [edi]
push eax
call fcn.00430e1b
add esp, 4
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
add edi, 0x134
cmp edi, ebx
jne 0x41ccf3
push esi
call fcn.00430e1b
add esp, 4
mov dword [esp + 0x2b8], 0xffffffff
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41cd67
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x41cd67
push str._SEARCH__error__Unicast_search_Thread_failed._BOOL_CDeviceSearchOperation_:_NULL._n
push 0x80000
call fcn.0041abf0
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x2b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x298]
xor ecx, esp
call fcn.0052442d
mov esp, ebp
pop ebp
ret