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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov esi, esp
mov eax, dword [0x477f18]
test eax, eax
jne 0x41c66d
movsd xmm0, qword [0x45f5a8]
xorps xmm0, xmmword [0x459c50]
movlps qword [0x45f5b8], xmm0
movzx eax, byte [0x45f5b0]
xor al, 0x95
mov byte [0x45f5c0], al
movzx eax, byte [0x45f5d0]
xor al, 0x32
mov byte [0x45f5f0], al
movzx eax, byte [0x45f5d1]
xor al, 0xf8
mov byte [0x45f5f1], al
movzx eax, byte [0x45f5d2]
mov ecx, eax
add cl, al
and cl, 0xd0
sub al, cl
add al, 0x68
mov byte [0x45f5f2], al
movzx eax, byte [0x45f5d3]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0x2a
mov byte [0x45f5f3], al
mov eax, 0xab3591e9
xor eax, dword [0x45f5d4]
mov dword [0x45f5f4], eax
movzx eax, byte [0x45f5d8]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x45f5f8], al
movzx eax, byte [0x45f5d9]
xor al, 0x83
mov byte [0x45f5f9], al
movzx eax, byte [0x45f5da]
xor al, 0x3c
mov byte [0x45f5fa], al
movzx eax, byte [0x45f5db]
mov ecx, eax
not cl
or cl, 0xf8
or al, 7
and al, cl
mov byte [0x45f5fb], al
movzx eax, byte [0x45f5dc]
xor al, 3
mov byte [0x45f5fc], al
movzx eax, byte [0x45f5dd]
xor al, 0xb7
mov byte [0x45f5fd], al
movzx eax, byte [0x45f5de]
xor al, 0x52
mov byte [0x45f5fe], al
movzx eax, byte [0x45f5df]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0xf2
mov byte [0x45f5ff], al
movaps xmm0, xmmword [0x45f5e0]
xorps xmm0, xmmword [0x459c60]
movss dword [0x45f600], xmm0
mov dword [0x477f18], 1
push eax
mov dword [esi + 0x18], esp
sub esp, 0xc
mov dword [esi], esp
push eax
mov dword [esi + 0x24], esp
sub esp, 0x70
mov edx, esp
and edx, 0xfffffff0
mov esp, edx
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x2c], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x20], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x28], eax
mov esp, eax
push eax
sub esp, 0x10
mov dword [esi + 8], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x1c], eax
mov esp, eax
mov eax, 0x2572fd06
mov edi, 0x51480e7d
mov dword [edx + 4], edi
mov dword [edx], eax
mov eax, 0x41d5e953
mov edi, 0x2468ab6a
mov dword [edx + 0xc], edi
mov dword [edx + 8], eax
mov eax, 0x26608773
mov edi, 0xb3fd7b9
mov dword [edx + 0x14], edi
mov dword [edx + 0x10], eax
mov eax, 0xe04346ca
mov edi, 0x50abc16d
mov dword [edx + 0x1c], edi
mov dword [edx + 0x18], eax
mov eax, 0x43d2e219
mov edi, 0xf1eb794e
mov dword [edx + 0x24], edi
mov dword [edx + 0x20], eax
mov eax, 0x667c469b
mov edi, 0xf8c2141b
mov dword [edx + 0x2c], edi
mov dword [edx + 0x28], eax
mov eax, 0x2c6a5325
mov edi, 0x22a48c85
mov dword [edx + 0x34], edi
mov dword [edx + 0x30], eax
mov eax, 0x39c11a63
mov edi, 0x29a9d147
mov dword [edx + 0x3c], edi
mov dword [edx + 0x38], eax
mov eax, 0x15d2492b
mov edi, 0x89d86e49
mov dword [edx + 0x44], edi
mov dword [edx + 0x40], eax
mov eax, 0xb47c32b3
mov edi, 0x5dacd834
mov dword [edx + 0x4c], edi
mov dword [edx + 0x48], eax
mov eax, 0xa4cfd76a
mov edi, 0x76e26c92
mov dword [edx + 0x54], edi
mov dword [edx + 0x50], eax
mov eax, 0x81a6df5c
mov edi, 0x20cbf810
mov dword [edx + 0x5c], edi
mov dword [edx + 0x58], eax
mov eax, 0x7c1cec1b
mov edi, 0x46866eaf
mov dword [edx + 0x64], edi
mov dword [edx + 0x60], eax
mov ebx, 0xe96974e2
mov ecx, 0xe51f681a
mov eax, 0x251dfd45
mov edi, 0x513c0e13
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], eax
mov edi, 0x41bbe936
mov eax, 0x2445ab1e
mov dword [esi + 0xc], edi
mov dword [esi + 4], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], edi
mov eax, 0x26198727
mov edi, 0xb5ad7c9
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], eax
mov eax, 0xe06346f0
mov edi, 0x50dbc10c
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], eax
mov eax, 0x43bee269
mov edi, 0xf1887927
mov dword [esi + 0x54], edi
mov dword [esi + 0x50], eax
mov eax, 0x660846fa
mov edi, 0xf8ad1472
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], eax
mov eax, 0x2c45534b
mov edi, 0x22898cfd
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], eax
mov eax, 0x39b61a14
mov edi, 0x2984d130
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], eax
mov eax, 0x15bd494d
mov edi, 0x89b56e3b
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], eax
mov eax, 0xb409329e
mov edi, 0x5dc0d846
mov dword [esi + 0x7c], edi
mov dword [esi + 0x78], eax
mov eax, 0xa4a1d70f
mov edi, 0x768d6cf1
mov dword [esi + 0x84], edi
mov dword [esi + 0x80], eax
mov eax, 0x81c3df38
mov edi, 0x20c6f874
mov dword [esi + 0x8c], edi
mov dword [esi + 0x88], eax
mov eax, 0x46866eaf
mov edi, 0x7c1cec11
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], edi
mov dword [edx + 0x6c], ecx
mov dword [esi + 0x9c], ecx
mov dword [edx + 0x68], ebx
mov dword [esi + 0x98], ebx
lea ebx, [esi + 0x30]
mov eax, ebx
xor ecx, ecx
movzx ecx, byte [0x45f5c0]
mov edi, dword [esi]
mov byte [edi + 8], cl
mov ecx, dword [esi + 0x18]
mov byte [ecx], 0
movsd xmm0, qword [0x45f5b8]
movsd qword [edi], xmm0
movdqa xmm1, xmmword [eax]
movdqa xmm2, xmmword [edx]
movdqa xmm0, xmmword [edx + 0x10]
movdqa xmm3, xmm2
pand xmm3, xmm1
paddq xmm2, xmm1
paddq xmm3, xmm3
psubq xmm2, xmm3
movdqa xmmword [edx], xmm2
movdqa xmm1, xmmword [eax + 0x10]
movdqa xmm2, xmm0
pand xmm2, xmm1
paddq xmm0, xmm1
paddq xmm2, xmm2
psubq xmm0, xmm2
movdqa xmmword [edx + 0x10], xmm0
movdqa xmm0, xmmword [eax + 0x20]
movdqa xmm1, xmmword [edx + 0x20]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx + 0x20], xmm1
movdqa xmm0, xmmword [eax + 0x30]
movdqa xmm1, xmmword [edx + 0x30]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx + 0x30], xmm1
movdqa xmm0, xmmword [eax + 0x40]
movdqa xmm1, xmmword [edx + 0x40]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx + 0x40], xmm1
movdqa xmm0, xmmword [eax + 0x50]
movdqa xmm1, xmmword [edx + 0x50]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx + 0x50], xmm1
movdqa xmm0, xmmword [eax + 0x60]
mov eax, 0x257cfd6a
mov ecx, 0x51550e63
mov edi, dword [esi + 0x2c]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov eax, ebx
xor ecx, ecx
movdqa xmm1, xmmword [edx + 0x60]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx + 0x60], xmm1
mov ecx, edi
mov edi, dword [esi + 4]
mov dword [ecx + 0xc], edi
mov ebx, dword [esi + 0xc]
mov dword [ecx + 8], ebx
mov edi, dword [esi + 0x10]
mov dword [esi + 0x34], edi
mov edi, dword [esi + 0x14]
mov dword [esi + 0x30], edi
mov edi, dword [esi + 4]
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], ebx
movdqa xmm0, xmmword [eax]
movdqa xmm1, xmmword [ecx]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [ecx], xmm1
mov ebx, 0x513c0e13
xor edi, edi
push 0
push dword [esi + 0x24]
push 8
push dword [esi]
push edx
push ecx
push dword [ebp + 8]
call fcn.0041cd20
add esp, 0x1c
test al, al
je 0x41cad5
mov eax, 0x251d962a
mov ecx, ebx
mov ebx, dword [esi + 0x20]
mov dword [ebx + 4], ecx
mov dword [ebx], eax
lea eax, [esi + 0x30]
xor ecx, ecx
mov edx, dword [esi + 0xc]
mov dword [ebx + 8], edx
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x20]
mov dword [ecx + 0xc], ebx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x20]
mov dword [esi + 0x38], edx
movdqa xmm0, xmmword [eax]
movdqa xmm1, xmmword [ebx]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [ebx], xmm1
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
nop word [eax + eax]
movzx ecx, byte [eax + edi]
movzx edx, byte [ebx + edi]
test ecx, ecx
je 0x41cab1
inc edi
cmp cl, dl
je 0x41caa0
mov dword [esi], eax
movzx eax, dl
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
cmp eax, edx
jne 0x41cae3
mov eax, dword [esi + 0x18]
mov byte [eax], 1
mov eax, dword [esi]
push eax
call fcn.0044fab0
add esp, 4
mov eax, dword [esi + 0x18]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x517e9836
mov ecx, 0x5152617a
mov edx, dword [esi + 0x28]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov ecx, dword [esi + 0xc]
mov dword [edx + 8], ecx
mov edi, dword [esi + 4]
mov dword [edx + 0xc], edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x30], eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], ecx
xor eax, eax
lea ecx, [esi + 0x30]
movdqa xmm0, xmmword [ecx]
movdqa xmm1, xmmword [edx]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx], xmm1
movd ebx, xmm1
mov eax, dword [esi]
mov ecx, eax
test bl, bl
je 0x41cb72
mov edx, dword [esi + 0x28]
mov edi, eax
mov ecx, eax
jmp 0x41cb5f
inc ecx
mov edi, ecx
mov edx, dword [esi + 0x28]
mov eax, dword [esi]
movzx ebx, byte [edx]
test bl, bl
je 0x41cb72
movzx eax, byte [edi]
test al, al
je 0x41caca
cmp al, bl
jne 0x41cb50
inc edi
inc edx
jmp 0x41cb56
test ecx, ecx
je 0x41cacc
movdqa xmm0, xmmword [0x45f5f0]
mov ecx, dword [esi + 8]
movdqu xmmword [ecx], xmm0
mov eax, dword [0x45f600]
mov dword [ecx + 0x10], eax
mov eax, dword [esi]
movzx ebx, byte [ecx]
mov edi, eax
test bl, bl
je 0x41cbd4
mov ecx, dword [esi + 8]
mov edx, eax
mov edi, eax
jmp 0x41cbc1
mov edx, edi
inc edx
mov edi, edx
mov ecx, dword [esi + 8]
mov eax, dword [esi]
movzx ebx, byte [ecx]
test bl, bl
je 0x41cbd4
movzx eax, byte [edx]
test al, al
je 0x41caca
cmp al, bl
jne 0x41cbb0
inc edx
inc ecx
jmp 0x41cbb8
mov ecx, edi
test edi, edi
je 0x41cacc
mov edx, dword [esi + 8]
lea ecx, [edx - 1]
nop word cs:[eax + eax]
inc ecx
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x41cbf0
mov eax, dword [esi + 8]
mov edx, eax
not edx
and edx, ecx
xor ecx, eax
add edx, edx
sub edx, ecx
add edi, edx
mov eax, 0x251dc367
mov ecx, 0x513c0e13
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 8], eax
mov ecx, dword [esi + 4]
mov dword [edx + 0xc], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
xor eax, eax
lea ecx, [esi + 0x30]
movdqa xmm0, xmmword [ecx]
movdqa xmm1, xmmword [edx]
movdqa xmm2, xmm1
pand xmm2, xmm0
paddq xmm1, xmm0
paddq xmm2, xmm2
psubq xmm1, xmm2
movdqa xmmword [edx], xmm1
movd ebx, xmm1
mov dword [esi + 4], edi
test bl, bl
je 0x41cca2
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 4]
mov edx, edi
jmp 0x41cc8f
mov edx, edi
inc edx
mov edi, edx
mov ecx, dword [esi + 0x1c]
movzx ebx, byte [ecx]
test bl, bl
je 0x41cca2
movzx eax, byte [edx]
test al, al
je 0x41caca
cmp al, bl
jne 0x41cc80
inc edx
inc ecx
jmp 0x41cc88
test edi, edi
mov eax, dword [esi]
je 0x41cacc
mov byte [0x478330], 1
mov dword [esi + 0x30], 0
mov dword [esi], 0x478332
mov ebx, dword [esi + 4]
cmp edi, ebx
jbe 0x41ccfc
mov dword [esi], 0x478332
cmp byte [ebx], 0
je 0x41ccfc
lea eax, [esi + 0x30]
push eax
push edi
push ebx
call fcn.00423720
add esp, 0xc
movzx ecx, word [esi + 0x30]
mov edx, dword [esi]
mov word [edx], cx
add edx, 2
mov dword [esi], edx
cmp edx, 0x478530
jae 0x41ccfc
add ebx, eax
cmp ebx, edi
jb 0x41cccd
mov eax, dword [esi]
mov word [eax], 0
mov eax, dword [esi + 0x18]
mov byte [eax], 1
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
jmp 0x41cacc