Function at 0x41c5a0
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 [0x458b40]
test eax, eax
jne 0x41c6e0
movzx eax, byte [0x44b4e8]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x92
mov byte [0x44b4f1], al
movsd xmm0, qword [0x44b4e9]
xorps xmm0, xmmword [0x445b90]
movlps qword [0x44b4f2], xmm0
movaps xmm0, xmmword [0x44b500]
xorps xmm0, xmmword [0x445ba0]
movss dword [0x44b520], xmm0
movzx eax, byte [0x44b504]
xor al, 0xfb
mov byte [0x44b524], al
movzx eax, byte [0x44b505]
xor al, 0x97
mov byte [0x44b525], al
movzx eax, byte [0x44b506]
xor al, 0x41
mov byte [0x44b526], al
movzx eax, byte [0x44b507]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0x70
mov byte [0x44b527], al
movzx eax, byte [0x44b508]
xor al, 0xab
mov byte [0x44b528], al
movzx eax, byte [0x44b509]
xor al, 0x33
mov byte [0x44b529], al
movzx eax, byte [0x44b50a]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0xfb
mov byte [0x44b52a], al
movzx eax, byte [0x44b50b]
xor al, 0x1b
mov byte [0x44b52b], al
movzx eax, byte [0x44b50c]
xor al, 0xfa
mov byte [0x44b52c], al
movzx eax, byte [0x44b50d]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x44b52d], al
mov eax, 0x40164d8d
xor eax, dword [0x44b50e]
mov dword [0x44b52e], eax
movzx eax, byte [0x44b512]
mov ecx, eax
not cl
or al, 0x3d
or cl, 0xc2
and cl, al
not cl
mov byte [0x44b532], cl
movzx eax, byte [0x44b513]
xor al, 0x9a
mov byte [0x44b533], al
mov dword [0x458b40], 1
push eax
mov dword [esi + 0x18], esp
sub esp, 0xc
mov dword [esi + 8], esp
push eax
mov dword [esi + 0xc], 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 + 0x28], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 4], eax
mov esp, eax
push eax
sub esp, 0x10
mov dword [esi + 0x1c], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x2c], eax
mov esp, eax
mov eax, 0x51aa6336
mov edi, 0x35ba81e7
mov dword [edx + 4], edi
mov dword [edx], eax
mov eax, 0x75a5366f
mov edi, 0x1019c388
mov dword [edx + 0xc], edi
mov dword [edx + 8], eax
mov eax, 0xa2615d83
mov edi, 0xd6932963
mov dword [edx + 0x14], edi
mov dword [edx + 0x10], eax
mov eax, 0x2fee985e
mov edi, 0xd6b7600f
mov dword [edx + 0x1c], edi
mov dword [edx + 0x18], eax
mov eax, 0xd4f17da9
mov edi, 0x9479345c
mov dword [edx + 0x24], edi
mov dword [edx + 0x20], eax
mov eax, 0xf61b7f3f
mov edi, 0xa6b8ccf1
mov dword [edx + 0x2c], edi
mov dword [edx + 0x28], eax
mov eax, 0xf634a0f5
mov edi, 0x7a1a0557
mov dword [edx + 0x34], edi
mov dword [edx + 0x30], eax
mov eax, 0x12680ddf
mov edi, 0x4ff3a0d
mov dword [edx + 0x3c], edi
mov dword [edx + 0x38], eax
mov eax, 0xbba4661b
mov edi, 0xf1aeb5a3
mov dword [edx + 0x44], edi
mov dword [edx + 0x40], eax
mov eax, 0x985203df
mov edi, 0x2c12b1f6
mov dword [edx + 0x4c], edi
mov dword [edx + 0x48], eax
mov eax, 0xc1c1055a
mov edi, 0x62489b98
mov dword [edx + 0x54], edi
mov dword [edx + 0x50], eax
mov eax, 0x4b9aeb28
mov edi, 0x7afcf552
mov dword [edx + 0x5c], edi
mov dword [edx + 0x58], eax
mov eax, 0xcdacdf6b
mov edi, 0xbb2f9e7d
mov dword [edx + 0x64], edi
mov dword [edx + 0x60], eax
mov ebx, 0x4b46f3e6
mov edi, 0xebb3ce0
mov ecx, 0x51c56375
mov eax, 0x35ce8189
mov dword [esi + 0x14], ecx
mov dword [esi + 0x24], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov ecx, 0x75cb360a
mov eax, 0x1034c3fc
mov dword [esi + 0x20], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], ecx
mov eax, 0xa2185dd7
mov ecx, 0xd6f62913
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x2fce9864
mov ecx, 0xd6c7606e
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0xd49d7dd9
mov ecx, 0x941a3435
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0xf66f7f5e
mov ecx, 0xa6d7cc98
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov eax, 0xf61ba09b
mov ecx, 0x7a37052f
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x121f0da8
mov ecx, 0x4d23a7a
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0xbbcb667d
mov ecx, 0xf1c3b5d1
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x982703f2
mov ecx, 0x2c7eb184
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov eax, 0xc1af053f
mov ecx, 0x62279bfb
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0x4bffeb4c
mov ecx, 0x7af1f536
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0xbb2f9e7d
mov ecx, 0xcdacdf61
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], ecx
mov dword [edx + 0x6c], edi
mov dword [esi + 0x9c], edi
mov dword [edx + 0x68], ebx
mov dword [esi + 0x98], ebx
lea ebx, [esi + 0x30]
mov eax, ebx
xor ecx, ecx
movzx ecx, byte [0x44b4f9]
mov edi, dword [esi + 8]
mov byte [edi + 8], cl
mov ecx, dword [esi + 0x18]
mov byte [ecx], 0
movsd xmm0, qword [0x44b4f1]
movsd qword [edi], xmm0
movaps xmm0, xmmword [edx]
movaps xmm1, xmmword [edx + 0x10]
xorps xmm0, xmmword [eax]
movaps xmmword [edx], xmm0
xorps xmm1, xmmword [eax + 0x10]
movaps xmmword [edx + 0x10], xmm1
movaps xmm0, xmmword [edx + 0x20]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [edx + 0x20], xmm0
movaps xmm0, xmmword [edx + 0x30]
xorps xmm0, xmmword [eax + 0x30]
movaps xmmword [edx + 0x30], xmm0
movaps xmm0, xmmword [edx + 0x40]
xorps xmm0, xmmword [eax + 0x40]
movaps xmmword [edx + 0x40], xmm0
movaps xmm0, xmmword [edx + 0x50]
xorps xmm0, xmmword [eax + 0x50]
movaps xmmword [edx + 0x50], xmm0
movaps xmm0, xmmword [edx + 0x60]
xorps xmm0, xmmword [eax + 0x60]
mov eax, 0x51a4635a
mov ecx, 0x35a781f9
mov edi, dword [esi + 0x28]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov eax, ebx
xor ecx, ecx
movaps xmmword [edx + 0x60], xmm0
mov ecx, dword [esi + 0x10]
mov dword [edi + 0xc], ecx
mov ebx, dword [esi + 0x20]
mov dword [edi + 8], ebx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], ebx
movdqa xmm0, xmmword [edi]
pxor xmm0, xmmword [eax]
movdqa xmmword [edi], xmm0
mov eax, edi
mov ebx, 0x35ce8189
xor edi, edi
push 0
push dword [esi + 0xc]
push 8
push dword [esi + 8]
push edx
push eax
push dword [ebp + 8]
call fcn.0041cd40
add esp, 0x1c
test al, al
mov eax, dword [esi + 0x18]
je 0x41cd32
mov eax, 0x51c5081a
mov ecx, ebx
mov ebx, dword [esi]
mov dword [ebx + 4], ecx
mov dword [ebx], eax
lea eax, [esi + 0x30]
xor ecx, ecx
mov edx, dword [esi + 0x20]
mov dword [ebx + 8], edx
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi]
mov dword [ecx + 0xc], ebx
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi]
mov dword [esi + 0x38], edx
movdqa xmm0, xmmword [ebx]
pxor xmm0, xmmword [eax]
movdqa xmmword [ebx], xmm0
mov eax, dword [esi + 0xc]
mov edx, dword [eax]
nop word cs:[eax + eax]
movzx ecx, byte [edx + edi]
movzx eax, byte [ebx + edi]
test ecx, ecx
je 0x41ca61
inc edi
cmp cl, al
je 0x41ca50
mov dword [esi], edx
movzx eax, al
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
cmp edx, ecx
jne 0x41ca81
mov eax, dword [esi + 0x18]
mov byte [eax], 1
mov edx, dword [esi]
jmp 0x41cd26
mov eax, 0x25a60606
mov ecx, 0x35a0eee0
mov edx, dword [esi + 4]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov ecx, dword [esi + 0x20]
mov dword [edx + 8], ecx
mov edi, dword [esi + 0x10]
mov dword [edx + 0xc], edi
mov eax, dword [esi + 0x24]
mov dword [esi + 0x34], eax
mov ebx, dword [esi + 0x14]
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], ecx
xor eax, eax
lea edi, [esi + 0x30]
mov ecx, edi
movdqa xmm0, xmmword [edx]
pxor xmm0, xmmword [ecx]
movdqa xmmword [edx], xmm0
movd eax, xmm0
mov edx, dword [esi]
mov ecx, edx
test al, al
je 0x41cb3a
mov ecx, edx
mov dword [esi + 0x28], eax
mov edi, 1
mov ebx, eax
mov dword [esi + 8], ecx
nop
movzx eax, byte [ecx + edi - 1]
mov ecx, eax
add cl, 0xbf
mov ch, al
or ch, 0x20
cmp cl, 0x1a
movzx ecx, ch
cmovae ecx, eax
mov eax, ebx
add al, 0xbf
movzx edx, bl
or bl, 0x20
cmp al, 0x1a
movzx eax, bl
cmovae eax, edx
cmp cl, al
jne 0x41cb1f
mov eax, dword [esi + 4]
movzx ebx, byte [eax + edi]
inc edi
test bl, bl
mov ecx, dword [esi + 8]
jne 0x41cae0
jmp 0x41cb32
mov eax, dword [esi + 8]
cmp byte [eax], 0
lea ecx, [eax + 1]
mov eax, dword [esi + 0x28]
jne 0x41cad5
jmp 0x41cca1
lea edi, [esi + 0x30]
mov ebx, dword [esi + 0x14]
mov edx, dword [esi]
test ecx, ecx
je 0x41cd26
movdqa xmm0, xmmword [0x44b520]
mov ecx, dword [esi + 0x1c]
movdqu xmmword [ecx], xmm0
mov eax, dword [0x44b530]
mov dword [ecx + 0x10], eax
mov eax, edx
movzx edx, byte [ecx]
test dl, dl
je 0x41cbcd
mov eax, dword [esi]
mov dword [esi + 4], eax
xor edi, edi
mov dh, dl
nop dword [eax + eax]
mov eax, dword [esi + 4]
movzx eax, byte [eax + edi]
mov ecx, eax
add cl, 0xbf
mov ch, al
or ch, 0x20
cmp cl, 0x1a
movzx ebx, ch
cmovae ebx, eax
mov al, dh
add al, 0xbf
movzx ecx, dh
or dh, 0x20
cmp al, 0x1a
movzx eax, dh
cmovae eax, ecx
cmp bl, al
jne 0x41cbae
mov eax, dword [esi + 0x1c]
mov dh, byte [eax + edi + 1]
inc edi
test dh, dh
jne 0x41cb70
jmp 0x41cbc1
mov eax, dword [esi + 4]
cmp byte [eax], 0
lea eax, [eax + 1]
mov dword [esi + 4], eax
jne 0x41cb67
jmp 0x41cca1
mov ecx, dword [esi + 0x1c]
lea edi, [esi + 0x30]
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 4]
test eax, eax
je 0x41cca1
mov edx, eax
nop word [eax + eax]
inc edx
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jne 0x41cbe0
mov dword [esi + 4], edx
mov eax, 0x51c55d57
mov ecx, 0x35ce8189
mov edx, dword [esi + 0x2c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0x20]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x10]
mov dword [edx + 0xc], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
xor eax, eax
mov ecx, edi
movdqa xmm0, xmmword [edx]
pxor xmm0, xmmword [ecx]
movdqa xmmword [edx], xmm0
movd edx, xmm0
test dl, dl
je 0x41cd0a
mov ecx, dword [esi + 4]
lea eax, [ecx - 1]
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
mov ebx, 1
nop dword [eax]
mov eax, dword [esi + 4]
movzx ecx, byte [eax + ebx - 2]
mov eax, ecx
add al, 0xbf
mov ah, cl
or ah, 0x20
cmp al, 0x1a
movzx eax, ah
cmovae eax, ecx
mov ecx, edx
add cl, 0xbf
movzx edi, dl
or dl, 0x20
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, edi
cmp al, cl
jne 0x41cc8f
mov eax, dword [esi + 0x2c]
movzx edx, byte [eax + ebx]
inc ebx
test dl, dl
jne 0x41cc50
jmp 0x41cca8
mov ecx, dword [esi + 4]
inc ecx
mov eax, dword [esi + 8]
cmp byte [eax], 0
lea eax, [eax + 1]
mov edx, dword [esi + 0x1c]
jne 0x41cc41
mov edx, dword [esi]
jmp 0x41cd26
mov byte [0x458f58], 1
mov dword [esi + 0x30], 0
mov ebx, 0x458f5a
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 8]
cmp edx, ecx
mov eax, dword [esi + 0xc]
jbe 0x41cd19
nop dword [eax + eax]
cmp byte [ecx], 0
je 0x41cd19
lea eax, [esi + 0x30]
push eax
push edx
mov edi, ecx
push ecx
call fcn.0041eba0
add esp, 0xc
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x41cd16
mov word [ebx], cx
add ebx, 2
cmp ebx, 0x459158
jae 0x41cd16
mov ecx, edi
add ecx, eax
mov edx, dword [esi + 8]
cmp ecx, edx
mov eax, dword [esi + 0xc]
jb 0x41ccd0
jmp 0x41cd19
mov byte [0x458f58], 1
mov ebx, 0x458f5a
mov eax, dword [esi + 0xc]
mov word [ebx], 0
mov ecx, dword [esi + 0x18]
mov byte [ecx], 1
mov edx, dword [eax]
push edx
call fcn.0043b7a0
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