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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x68], xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x88], 0
mov esi, dword [ecx + 0x1c]
test esi, esi
je 0x41d91a
mov edi, ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x54], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
movups xmmword [esp + 0x38], xmm0
movups xmmword [esp + 0x28], xmm0
movups xmmword [esp + 0x18], xmm0
lea eax, [esp + 0x18]
mov ecx, esp
push eax
call fcn.00417580
mov eax, dword [esp + 0x34]
test eax, eax
je 0x41d522
mov dword [esp + 0x38], eax
push eax
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41d537
mov dword [esp + 0x2c], eax
push eax
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 4]
mov dword [eax - 0x34], 0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa0]
mov dword [eax - 0x30], ecx
mov eax, dword [esp + 4]
mov dword [eax - 0x2c], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa4]
mov dword [eax - 0x28], ecx
mov ecx, dword [esp + 4]
mov eax, dword [edi + 0x10]
mov edx, dword [ecx - 0x24]
mov ebx, dword [ecx - 0x20]
sub ebx, edx
sar ebx, 2
imul ebp, ebx, 0xaaaaaaab
mov ebx, eax
sub ebx, ebp
jbe 0x41d593
add ecx, 0xffffffdc
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.00417770
jmp 0x41d59e
jae 0x41d59e
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
mov dword [ecx - 0x20], eax
movzx ebx, byte [esp + 0xb0]
mov ecx, dword [esp + 4]
mov eax, dword [edi + 0x14]
mov edx, dword [ecx - 0x18]
mov ebp, dword [ecx - 0x14]
sub ebp, edx
sar ebp, 3
mov edi, eax
sub edi, ebp
jbe 0x41d5c9
add ecx, 0xffffffe8
push edi
call fcn.00417980
jmp 0x41d5d1
jae 0x41d5d1
lea eax, [edx + eax*8]
mov dword [ecx - 0x14], eax
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 4]
mov dword [eax - 0xc], esi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [eax - 8], ecx
mov eax, dword [esp + 4]
mov byte [eax - 4], bl
mov dword [esp + 0x10], 0
xorps xmm0, xmm0
mov dword [esp + 0xc], 0
xor ebx, ebx
jmp 0x41d630
add esi, 0xffffffcc
mov dword [esp + 4], esi
nop dword [eax]
xorps xmm0, xmm0
mov eax, dword [esp]
cmp eax, dword [esp + 4]
je 0x41d913
inc ebx
test ebx, 0xfff
jne 0x41d648
mov eax, ebx
shr eax, 0xc
cmp eax, dword [esp + 0x14]
jge 0x41da20
mov esi, dword [esp + 4]
lea edi, [esi - 0x34]
mov ecx, dword [esi - 0xc]
test ecx, ecx
je 0x41d65f
mov eax, dword [ecx]
push edi
call dword [eax + 8]
xorps xmm0, xmm0
mov eax, dword [edi]
mov ecx, 0x3e8
add eax, ecx
cmp eax, 9
ja case.0x41d674.1
lea ebp, [esi - 0xc]
jmp dword [eax*4 + 0x41da2c]
mov ecx, dword [esi - 0x2c]
mov eax, dword [esp + 0xac]
test al, 0x20
je 0x41d78f
cmp ecx, dword [esp + 0xa0]
jne 0x41d78f
mov esi, dword [esp + 4]
mov eax, dword [esi - 0x18]
test eax, eax
je 0x41d6b4
mov dword [esi - 0x14], eax
push eax
call fcn.00420e70
xorps xmm0, xmm0
add esp, 4
mov eax, dword [esi - 0x24]
test eax, eax
je 0x41d6ca
mov dword [esi - 0x20], eax
push eax
call fcn.00420e70
xorps xmm0, xmm0
add esp, 4
add esi, 0xffffffcc
mov dword [esp + 4], esi
jmp case.0x41d674.5
movups xmmword [esp + 0x38], xmm0
movups xmmword [esp + 0x28], xmm0
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x48], 0
lea esi, [esp + 0x18]
mov ecx, esi
push edi
call fcn.00417450
mov ecx, dword [ebp]
mov eax, dword [ecx]
push edi
push 1
call dword [eax + 0xc]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
push esi
push 0
call dword [eax + 0xc]
mov eax, dword [esp + 4]
cmp eax, dword [esp + 8]
jae 0x41d7d8
movups xmm0, xmmword [esp + 0x18]
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [eax + 0x10], xmm0
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x18], ecx
mov dword [esp + 0x28], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x24], ecx
movups xmmword [esp + 0x30], xmm0
lea edx, [esp + 0x40]
movzx ecx, byte [edx + 8]
mov byte [eax + 0x30], cl
movsd xmm0, qword [edx]
movsd qword [eax + 0x28], xmm0
add eax, 0x34
mov dword [esp + 4], eax
jmp 0x41d7f5
test dword [esp + 0xac], 0x1000
je 0x41d813
cmp ecx, dword [esp + 0xa4]
je 0x41d813
mov esi, dword [esp + 4]
mov eax, dword [esi - 0x18]
test eax, eax
je 0x41d7bc
mov dword [esi - 0x14], eax
push eax
call fcn.00420e70
add esp, 4
mov eax, dword [esi - 0x24]
test eax, eax
je 0x41d616
mov dword [esi - 0x20], eax
push eax
call fcn.00420e70
add esp, 4
jmp 0x41d616
mov ecx, esp
push esi
call fcn.00417580
mov eax, dword [esp + 0x34]
test eax, eax
je 0x41d7f5
mov dword [esp + 0x38], eax
push eax
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41d620
mov dword [esp + 0x2c], eax
push eax
call fcn.00420e70
add esp, 4
jmp 0x41d620
sub ecx, dword [esi - 0x30]
test byte [esp + 0xc], 1
mov eax, dword [esp + 0x10]
je 0x41d825
cmp eax, ecx
jge 0x41d873
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x58], xmm0
lea eax, [esp + 0x58]
cmp eax, edi
lea edi, [esp + 0x68]
je 0x41d85d
mov dword [esp + 0xc], ecx
mov ecx, edi
push dword [esi - 0x20]
push dword [esi - 0x24]
call fcn.0041ebf0
lea ecx, [esp + 0x74]
push dword [esi - 0x14]
push dword [esi - 0x18]
call fcn.0041ed60
mov ecx, dword [esp + 0xc]
movzx eax, byte [ebp + 8]
mov byte [edi + 0x20], al
movsd xmm0, qword [ebp]
movsd qword [edi + 0x18], xmm0
mov eax, ecx
xorps xmm0, xmm0
mov esi, dword [esp + 4]
cmp eax, dword [esp + 0x14]
jne 0x41d8d7
mov edi, dword [esp]
cmp esi, edi
jne 0x41d8a6
mov dword [esp + 4], edi
mov al, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jmp case.0x41d674.5
mov esi, ebp
cmp ebp, edi
je 0x41d884
mov eax, dword [esi - 0x18]
test eax, eax
je 0x41d8bc
mov dword [esi - 0x14], eax
push eax
call fcn.00420e70
xorps xmm0, xmm0
add esp, 4
lea ebp, [esi - 0x34]
mov eax, dword [esi - 0x24]
test eax, eax
je 0x41d8a0
mov dword [esi - 0x20], eax
push eax
call fcn.00420e70
xorps xmm0, xmm0
add esp, 4
jmp 0x41d8a0
mov dword [esp + 0x10], eax
mov eax, dword [esi - 0x18]
test eax, eax
je 0x41d8ee
mov dword [esi - 0x14], eax
push eax
call fcn.00420e70
add esp, 4
mov eax, dword [esi - 0x24]
test eax, eax
je 0x41d901
mov dword [esi - 0x20], eax
push eax
call fcn.00420e70
add esp, 4
add esi, 0xffffffcc
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0xc], eax
jmp 0x41d620
test byte [esp + 0xc], 1
jne 0x41d91e
xor ebx, ebx
jmp 0x41d987
mov ebx, dword [esp + 0xa8]
mov eax, dword [ebx]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
add edx, ecx
mov eax, dword [ebx]
mov dword [eax + 4], edx
mov eax, dword [ebx]
mov byte [eax + 8], 1
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x6c], eax
je 0x41d985
xor ecx, ecx
xor edx, edx
nop
inc edx
mov esi, dword [ebx]
mov edi, dword [eax + ecx]
mov dword [esi + ecx + 0xc], edi
mov edi, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x10], edi
movzx eax, byte [eax + ecx + 8]
mov byte [esi + ecx + 0x14], al
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
sub esi, eax
sar esi, 2
imul esi, esi, 0xaaaaaaab
add ecx, 0xc
cmp edx, esi
jb 0x41d950
mov bl, 1
mov eax, dword [esp + 0x74]
test eax, eax
je 0x41d99c
mov dword [esp + 0x78], eax
push eax
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x68]
test eax, eax
je 0x41d9b1
mov dword [esp + 0x6c], eax
push eax
call fcn.00420e70
add esp, 4
mov esi, dword [esp]
test esi, esi
je 0x41da11
mov edi, dword [esp + 4]
mov eax, esi
cmp edi, esi
jne 0x41d9d6
jmp 0x41da04
mov edi, ebp
cmp ebp, esi
je 0x41da01
mov eax, dword [edi - 0x18]
test eax, eax
je 0x41d9e9
mov dword [edi - 0x14], eax
push eax
call fcn.00420e70
add esp, 4
lea ebp, [edi - 0x34]
mov eax, dword [edi - 0x24]
test eax, eax
je 0x41d9d0
mov dword [edi - 0x20], eax
push eax
call fcn.00420e70
add esp, 4
jmp 0x41d9d0
mov eax, dword [esp]
mov dword [esp + 4], esi
push eax
call fcn.00420e70
add esp, 4
mov eax, ebx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
call fcn.00417440
call fcn.00417570
nop
jnp 0x41da04
inc ecx
add byte [0x250041da], ah
fiadd dword [ecx]
and eax, 0x250041da
fiadd dword [ecx]
and edx, esi
inc ecx
add byte [ebx], ah
salc
inc ecx
add byte [edx - 0x29ffbe2a], bl
salc
inc ecx
add byte [ebx], ah
salc
inc ecx
add ah, cl
int3