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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x48
mov ebp, ecx
mov eax, dword [esp + 0x5c]
mov ecx, eax
not ecx
test cl, 3
jne 0x41cf6e
cmp dword [eax + 4], 0
jne 0x41cf6b
movzx ecx, word [eax]
cmp ecx, 0x3f
ja 0x41cf6b
mov esi, dword [eax + 8]
cmp esi, 0xffffff
ja 0x41cf6b
shl esi, 8
shl ecx, 2
or ecx, esi
mov eax, ecx
jmp 0x41cf6e
or eax, 1
mov esi, eax
and esi, 3
cmp esi, 2
mov dword [esp], edx
jne 0x41cfef
and eax, 0xfffffffc
movups xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmmword [esp + 0x24], xmm1
movups xmmword [esp + 0x14], xmm0
mov esi, dword [eax + 0x20]
mov dword [esp + 0x34], esi
lea eax, [esp + 0x14]
push eax
call fcn.00403850
add esp, 4
mov edi, eax
test esi, esi
je 0x41d033
mov edx, esi
mov eax, esi
shr eax, 0x18
mov ecx, esi
shr ecx, 0x10
mov ebx, esi
movzx edx, bl
imul esi, edi, 0x1003f
add esi, edx
mov dword [esp + 8], ebx
movzx edx, bh
imul esi, esi, 0x1003f
add esi, edx
movzx ecx, cl
imul edx, esi, 0x1003f
add edx, ecx
imul edi, edx, 0x1003f
add edi, eax
jmp 0x41d08c
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
mov ecx, eax
and ecx, 0xfffffffc
cmp esi, 1
je 0x41d016
cmp esi, 3
jne 0x41d03d
movd xmm1, dword [ecx]
movq xmm0, qword [ecx + 4]
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x44], eax
movsd xmm2, qword [ecx + 0xc]
movsd qword [esp + 0x3c], xmm2
jmp 0x41d055
mov dword [esp + 8], 0
jmp 0x41d08c
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
shr eax, 8
movd xmm0, eax
pshufd xmm0, xmm0, 0x51
movd xmm1, ecx
movd dword [esp + 0x14], xmm1
movq qword [esp + 0x18], xmm0
movsd xmm0, qword [esp + 0x3c]
movsd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
mov dword [esp + 8], 0
push eax
call fcn.00403850
add esp, 4
mov edi, eax
mov esi, dword [esp + 0x2c]
test esi, esi
mov dword [esp + 4], esi
je 0x41d121
mov eax, dword [esp + 0x30]
mov ecx, esi
and ecx, 3
cmp esi, 4
jae 0x41d0ae
xor edx, edx
jmp 0x41d0fa
and esi, 0xfffffffc
xor edx, edx
nop word cs:[eax + eax]
movzx ebx, byte [eax + edx]
imul edi, edi, 0x1003f
add edi, ebx
movzx ebx, byte [eax + edx + 1]
imul edi, edi, 0x1003f
add edi, ebx
movzx ebx, byte [eax + edx + 2]
imul edi, edi, 0x1003f
add edi, ebx
movzx ebx, byte [eax + edx + 3]
imul edi, edi, 0x1003f
add edi, ebx
add edx, 4
cmp esi, edx
jne 0x41d0c0
test ecx, ecx
je 0x41d121
add eax, edx
xor edx, edx
nop word cs:[eax + eax]
movzx esi, byte [eax + edx]
imul edi, edi, 0x1003f
add edi, esi
inc edx
cmp ecx, edx
jne 0x41d110
mov dword [esp + 0xc], ebp
mov esi, dword [ebp + 4]
test esi, esi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
je 0x41d1b4
mov ebp, dword [esp + 0x30]
jmp 0x41d149
add esi, 4
mov esi, dword [esi]
test esi, esi
je 0x41d1b4
cmp edi, dword [esi + 0x10]
jb 0x41d143
ja 0x41d140
mov ebx, dword [esi + 0xc]
cmp ecx, dword [ebx + 0x20]
jne 0x41d18b
cmp edx, dword [ebx + 0x18]
jne 0x41d18b
mov eax, dword [ebx + 0x1c]
cmp ebp, eax
je 0x41d18f
test ebp, ebp
je 0x41d143
test eax, eax
je 0x41d140
push edx
push eax
push ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x41d18f
sar eax, 0x1f
or eax, 1
jmp 0x41d1ad
jb 0x41d143
jmp 0x41d140
push ebx
lea eax, [esp + 0x18]
push eax
call fcn.00403740
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add esp, 8
test eax, eax
je 0x41d46b
cmp eax, 0xffffffff
jne 0x41d140
jmp 0x41d143
mov ebp, dword [esp + 0xc]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
cmp esi, edx
jbe 0x41d1ca
mov ebx, dword [ebp]
jmp 0x41d287
mov eax, esi
add eax, esi
mov dword [esp], eax
je 0x41d479
imul eax, esi, 0x70
push eax
push dword [ebp]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
je 0x41d26c
mov ebx, eax
mov edx, dword [ebp]
mov eax, dword [ebp + 8]
lea ecx, [esi + esi*8]
lea ebp, [ebx + ecx*8]
shl eax, 2
lea eax, [eax + eax*8]
mov dword [esp + 0x10], edx
mov esi, ebp
sub esi, eax
sub esi, edx
add eax, ebx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0xc]
shl ecx, 2
lea ecx, [ecx + ecx*4]
push ecx
push eax
push ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc], 0
je 0x41d276
mov eax, ebx
sub eax, dword [esp + 0x10]
xor ecx, ecx
jmp 0x41d252
add dword [ebp + 0xc], eax
inc ecx
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0xc]
add ebp, 0x14
cmp ecx, edx
jae 0x41d278
mov edx, dword [ebp]
test edx, edx
je 0x41d25e
add edx, esi
mov dword [ebp], edx
mov edx, dword [ebp + 4]
test edx, edx
je 0x41d240
add edx, esi
mov dword [ebp + 4], edx
jmp 0x41d240
mov ebp, 0x80030000
jmp 0x41d461
xor edx, edx
mov eax, dword [esp + 0xc]
add dword [eax + 4], esi
mov ecx, dword [esp]
mov dword [eax + 8], ecx
mov dword [eax], ebx
lea esi, [edx + edx*8]
lea eax, [ebx + esi*4]
mov dword [esp], eax
xorps xmm0, xmm0
movups xmmword [ebx + esi*4 + 0x10], xmm0
movups xmmword [ebx + esi*4], xmm0
mov dword [ebx + esi*4 + 0x20], 0
mov eax, 0x80020000
mov ebp, dword [esp + 0x18]
cmp ebp, 5
ja case.default.0x41d2b6
mov ecx, dword [esp + 4]
jmp dword [ebp*4 + 0x55b2d4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp]
add eax, 0xc
push 0x524820
push eax
mov dword [esp + 0x18], ecx
push ecx
push dword [esp + 0x2c]
call fcn.00403bc0
add esp, 0x10
test eax, eax
jne 0x41d316
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], ecx
jmp 0x41d314
movsd xmm0, qword [esp + 0x24]
mov eax, dword [esp]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [esp + 0x14]
movups xmmword [eax], xmm0
xor eax, eax
jmp case.0x41d2b6.1
movups xmm0, xmmword [esp + 0x1c]
mov eax, dword [esp]
movups xmmword [eax + 8], xmm0
xor eax, eax
movzx edx, word [esp + 0x14]
mov ecx, dword [esp]
mov word [ecx], dx
mov dword [ecx + 4], ebp
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], eax
lea eax, [ebx + esi*4]
add eax, 0x1c
push 0x524820
mov dword [esp + 0x3c], eax
push eax
push ecx
push dword [esp + 0x3c]
call fcn.00403bc0
add esp, 0x10
mov ebp, eax
test eax, eax
jne 0x41d357
mov eax, dword [esp + 4]
mov dword [ebx + esi*4 + 0x18], eax
or ebp, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov dword [ebx + esi*4 + 0x20], eax
je 0x41d3ac
mov esi, dword [esp]
mov eax, dword [esi + 4]
cmp eax, 5
je 0x41d375
cmp eax, 3
jne 0x41d384
mov eax, dword [esi + 0xc]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
and eax, 0xfffffffe
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
xorps xmm0, xmm0
movups xmmword [esi + 0x10], xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x20], 0
jmp 0x41d461
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*4]
mov ecx, dword [ebx + 0xc]
lea esi, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*4]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [edx + esi*4 + 0xc], eax
mov dword [edx + esi*4 + 0x10], edi
mov ecx, dword [0x57033c]
mov esi, dword [0x570338]
mov edx, 0x4c957f2d
mov eax, esi
mul edx
imul edi, esi, 0x5851f42d
add edi, edx
imul edx, ecx, 0x4c957f2d
add edx, edi
add eax, dword [0x570340]
adc edx, dword [0x570344]
mov edi, ecx
shrd esi, ecx, 0x1b
shr edi, 0xd
xor esi, edi
shr ecx, 0x1b
mov edi, esi
ror edi, cl
mov dword [0x570338], eax
tzcnt eax, edi
xor ebp, ebp
cmp esi, 1
mov ecx, 0
sbb ecx, ecx
mov dword [0x57033c], edx
or cl, al
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov byte [edx + eax*4 + 8], cl
lea eax, [edx + eax*4]
push eax
push dword [ebx + 4]
push 0
push 0
push 0x4478a0
call fcn.0042e270
add esp, 0x14
mov dword [ebx + 4], eax
inc dword [ebx + 0xc]
mov eax, ebp
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebp, ebp
mov eax, dword [esp]
test eax, eax
je 0x41d461
mov byte [eax], 1
jmp 0x41d461
push 0x8670
push str..._Server_include_OPCUA_open62541_open62541.c
push str.capacity___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
int3